http://dspace.nitrkl.ac.in/dspace Navigation Techniques for Control of
Multiple Mobile Robots
A Thesis Submitted to the Department of Mechanical Engineering of National Institute of Technology, Rourkela in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY IN ENGINEERING By Saroj Kumar Pradhan Department of Mechanical Engineering National Institute of Technology Rourkela‐769008 (India) May 2007
Navigation Techniques for Control of
Multiple Mobile Robots
A Thesis Submitted to the Department of Mechanical Engineering of National Institute of Technology, Rourkela in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY IN ENGINEERING By Saroj Kumar Pradhan Under the Guidance of Dr. D. R. Parhi Dr. A. K. Panda (Supervisor) (Co‐supervisor) Department of Mechanical Engineering National Institute of Technology Rourkela‐769008 (India) May 2007 This Thesis is Dedicated
to
my Late Mother Smt. Basanti Pradhan
and
Late Brother Sri Manoj Kumar Pradhan
Declaration
I hereby declare that the work which is being presented in the thesis entitled “Navigation Techniques for Control of Multiple Mobile Robots” in partial fulfillment of the requirements for the award of the degree of DOCTOR OF PHILOSOPHY submitted to the Department of Mechanical Engineering of National Institute of Technology, Rourkela, is an authentic record of my own work under the supervision of Dr. D. R. Parhi, Department of Mechanical Engineering and Dr. A. K. Panda, Department of Electrical Engineering. I have not submitted the matter embodied in this thesis for the award of any other degree or diploma of the university or any other institute. Date: 28th May, 2007 i
Saroj Kumar Pradhan Certificate
This is to certify that the thesis entitled “Navigation Techniques for Control of Multiple Mobile Robots” being submitted by Shri Saroj Kumar Pradhan is a bona fide research carried out by him at Mechanical Engineering Department, National Institute of Technology, Rourkela, under our guidance and supervision. The work incorporated in this thesis has not been, to the best of our knowledge, submitted to any other University or any Institute for the award of any degree or diploma. D. R. Parhi (Supervisor) Date: 28th May, 2007 ii
A. K. Panda (Co‐Supervisor) Acknowledgements
It has been a pleasure for me to work on this dissertation. I hope the reader will find it not only interesting and useful, but also comfortable to read. The research reported here has been carried out in the Mechanical Engineering Department of National Institute of Technology, Rourkela at the Robotics Laboratory. I am greatly indebted to many persons for helping me to complete this dissertation. First and foremost, I wish to express my sense of gratitude and indebtedness to my supervisors, Dr. D.R. Parhi and Dr. A.K. Panda for their inspiring guidance, encouragement, and untiring efforts throughout the course of this work. Their timely help, constructive criticism, and painstaking efforts made it possible to present the work contained in this thesis. I express my heartfelt thanks to the reviewers for giving their valuable comments on the published papers in different international journals, which helps to carry the research works in a right direction. I also thank to the international and national conference organisers for intensely reviewing the published papers. I am grateful to Prof. S.K. Sarangi, Director, and Head of the Department, Mechanical Engineering, for their active interest and support. I am also thankful to the staff members of Mechanical Engineering Department, National Institute of Technology, Rourkela for providing all kind of possible help throughout the research work. I am also thankful to the head and staff members at my workplace for their valuable supports during the research. I express my deep sense of gratitude and reverence to my beloved father Sri Narendra Pradhan, mother Late Smt. Basanti Pradhan, sisters and my brother Late Sri Manoj Kumar Pradhan for their blessings, forbearance and endeavors to keep my moral high throughout the period of my work. I am grateful to my wife Saswati Soumya Pradhan, for her support and patience during this work, and to my daughter Manishikha, for constantly reminding me with less patience but no less love, that there is life outside the office. Thanks are due to Dr. Rabindra Kumar Behera, faculty Mechanical Engineering Department, for his constant advice and encouragement through out the research work. It is a great pleasure for me to acknowledge and express my appreciation to all my well wishers for their understanding, relentless supports, and encouragement during my research work. Last but not the least; I wish to express my sincere thanks to all those who directly or indirectly helped me at various stages of this work. Saroj Kumar Pradhan iii
Synopsis
The investigation reported in this thesis attempt to develop efficient techniques for the control of multiple mobile robots in an unknown environment. Mobile robots are key components in industrial automation, service provision, and unmanned space exploration. This thesis addresses eight different techniques for the navigation of multiple mobile robots. These are fuzzy logic, neural network, neuro‐fuzzy, rule‐base, rule‐based‐neuro‐fuzzy, potential field, potential‐field‐
neuro‐fuzzy, and simulated‐annealing‐ potential‐field‐ neuro‐fuzzy techniques. The main components of this thesis comprises of eight chapters. Following the literature survey in Chapter‐2, Chapter‐3 describes how to calculate the heading angle for the mobile robots in terms of left wheel velocity and right wheel velocity of the robot. In Chapter‐4 a fuzzy logic technique has been analysed. The fuzzy logic technique uses different membership functions for navigation of the multiple mobile robots, which can perform obstacles avoidance and target seeking. Chapter‐5 consists of two subsections. In first subsection the neural network technique has been developed and analysed for controlling the multiple mobile robots. Then this technique is hybridised with fuzzy logic to improve the iv
fuzzy logic controller of Chapter‐4 with the addition of a neural network as a pre‐processor for the fuzzy controller. Chapter‐6 analyses a rule‐based‐neuro‐fuzzy technique for controlling the mobile robots. A rule‐base technique is first developed and then it is combined with the neuro‐fuzzy technique of Chapter‐5 to increase its efficiency. Chapter‐7 deals with an efficient potential field method for navigation of multiple mobile robots. Then a hybrid potential‐field‐neuro‐fuzzy technique for controlling the mobile robots is described. Finally, Chapter‐8 analyses the optimisation of potential field with the help of simulated annealing for escaping local minima. The developed potential‐
field‐simulated‐annealing‐neuro‐fuzzy technique is described in simulation as well as for real mobile robots. v
Table of Contents
1 Introduction ..................................................................................................... 1 1.1 1.2 1.3 2 Background....................................................................................................... 1 Aims and Objectives of this Research ........................................................... 3 Outline of the Thesis........................................................................................ 4 Literature Review............................................................................................ 6 2.1 Introduction ...................................................................................................... 6 2.2 Mobile Robot Navigation................................................................................ 6 2.3 Kinematic Analysis of Mobile Robots......................................................... 10 2.3.1 Introduction ................................................................................................ 10 2.3.2 Kinematic Analysis for Mobile Robot Navigation ................................ 10 2.4 Fuzzy Logic Technique ................................................................................. 11 2.4.1 Introduction ................................................................................................ 11 2.4.2 Fuzzy Logic Technique for Mobile Robot Navigation ......................... 11 2.5 Neural Network Technique.......................................................................... 20 2.5.1 Introduction ................................................................................................ 20 2.5.2 Neural Network Technique for Mobile Robot Navigation.................. 24 2.5.3 Neuro‐Fuzzy Technique for Mobile Robot Navigation ....................... 28 2.6 Rule Based Technique ................................................................................... 34 2.6.1 Introduction ................................................................................................ 34 2.6.2 Rule based Technique for Mobile Robot Navigation............................ 35 2.7 Potential Field Navigation Technique ........................................................ 37 2.7.1 Introduction ................................................................................................ 37 2.7.2 Potential Field Technique for Mobile Robot Navigation ..................... 37 2.8 Simulated Annealing Technique ................................................................. 42 2.8.1 Introduction ................................................................................................ 42 2.8.2 Simulated Annealing Technique ............................................................. 42 2.9 Sensors for Mobile Robots ............................................................................ 43 2.9.1 Ultrasonic Sensors for Robot Navigation ............................................... 44 2.9.2 Infrared Sensors for Robot Navigation................................................... 46 2.9.3 Other Sensors Used in Navigation .......................................................... 47 2.10 Summary ......................................................................................................... 48 vi
3 Kinematic Analysis of Mobile Robots...................................................... 49 3.1 3.2 3.3 4 Introduction .................................................................................................... 49 Configuration of Mobile Robot .................................................................... 49 Kinematic Model ............................................................................................ 51 Fuzzy Logic Technique ................................................................................ 55 4.1 Introduction .................................................................................................... 55 4.2 Control Architecture...................................................................................... 56 4.2.1 Analysis of Obstacle Avoidance and Target Seeking Behaviour........ 56 4.2.2 Fuzzy Mechanism for Mobile Robot Navigation .................................. 61 4.2.3 Obstacle Avoidance ................................................................................... 62 4.2.4 Control Steering Action for Target .......................................................... 63 4.2.5 Petri Net Modelling to avoid Collision among the Robots.................. 70 4.3 Demonstrations .............................................................................................. 72 4.3.1 Obstacle Avoidance and Target Seeking by Multiple Mobile Robots 72 4.3.2 Collision Free Movements in a Cluttered Environment ...................... 74 4.3.3 Obstacle Avoidance by a Large Number of Robots.............................. 75 4.3.4 Escape from Dead Ends ............................................................................ 75 4.4 Comparison between the Different Types of Fuzzy Controller.............. 78 4.4.1 Simulation Results ..................................................................................... 78 4.4.2 Experimental Results................................................................................. 82 4.5 Summary ......................................................................................................... 86 5 Neural Network Technique ........................................................................ 87 5.1 Introduction .................................................................................................... 87 5.1.1 Multilayer Neural Network Based Navigation Technique.................. 88 5.2 Neuro‐Fuzzy Technique ............................................................................... 93 5.2.1 Obstacle Avoidance ................................................................................... 95 5.2.2 Target Finding ............................................................................................ 95 5.3 Demonstrations .............................................................................................. 96 5.3.1 Neural Network Technique...................................................................... 96 5.3.1.1 Obstacle Avoidance and Target Seeking .................................... 96 5.3.1.2 Escape from Dead Ends ................................................................ 98 5.3.1.3 Navigation of ‘Nine Hundred Ninety Robots’ .......................... 98 vii
5.3.1.4 Inter Robot Collision Avoidance ................................................. 98 5.3.2 Neuro‐Fuzzy Technique ......................................................................... 102 5.3.2.1 Collision Free Movements in a Cluttered Environment ........ 102 5.3.2.2 Escape from Dead Ends .............................................................. 102 5.3.2.3 Obstacle Avoidance by a Large Number of Robots................ 102 5.4 Comparisons ................................................................................................. 106 5.4.1 Comparison between the Different Types of Fuzzy Controllers and Neuro‐Fuzzy Controller...................................................................................... 106 5.4.2 Comparison of the Developed Neuro‐Fuzzy Technique with Marichal and Janglova Techniques .................................................................................... 111 5.5 Summary ....................................................................................................... 119 6 Rule Based Technique ............................................................................... 120 6.1 Introduction .................................................................................................. 120 6.2 Rule Based Technique for Mobile Robots................................................. 122 6.2.1 Analysis of Rule‐Based Technique ........................................................ 126 6.3 Rule‐Based ‐ Neuro‐Fuzzy technique ....................................................... 131 6.4 Demonstrations ............................................................................................ 133 6.4.1 Rule‐Based Technique ............................................................................. 133 6.4.1.1 Obstacle Avoidance and Target Seeking by Multiple Mobile Robots…………. ............................................................................................... 133 6.4.1.2 Obstacle Avoidance by a Large Number of Robots................ 133 6.4.1.3 Escape from Dead Ends .............................................................. 136 6.4.1.4 Collision Free Movements in a Cluttered Environment ........ 136 6.4.2 Rule‐Based‐Neuro‐Fuzzy Technique .................................................... 139 6.4.2.1 Escape from Dead Ends .............................................................. 139 6.4.2.2 Navigation by Nine Hundred Ninety Mobile Robots ............ 139 6.4.2.3 Inter Robot Collision Avoidance ............................................... 139 6.4.2.4 Experimental Validation with the Simulation Results for Two Mobile Robots................................................................................................... 143 6.5 Comparison between Different Controllers............................................. 145 6.5.1 Experiments with Single Real Mobile Robot ....................................... 148 6.6 Summary ....................................................................................................... 151 viii
7 Potential Field Navigation Technique.................................................... 152 7.1 Introduction .................................................................................................. 152 7.2 Analysis of Potential Field Navigation technique................................... 153 7.2.1 Attractive Potential Function ................................................................. 153 7.2.2 Repulsive Potential Function ................................................................. 154 7.2.3 New Repulsive Potential Function........................................................ 158 7.2.4 Robot Navigation ..................................................................................... 161 7.2.5 Hybrid Potential Field Navigation technique...................................... 166 7.3 Demonstrations ............................................................................................ 168 7.3.1 Potential Field Navigation Technique .................................................. 168 7.3.1.1 Obstacle Avoidance and Target Seeking by Multiple Mobile Robots ……………………………………………………………………..168 7.3.2 Potential‐Field‐Neuro‐Fuzzy Technique .............................................. 169 7.3.2.1 Escape from Dead Ends .............................................................. 169 7.3.2.2 Navigation of Several Mobile Robots ....................................... 171 7.3.2.3 Inter Robot Collision Avoidance ............................................... 171 7.3.2.4 Experimental Validation for Two Mobile Robots with the Simulation Results ........................................................................................... 174 7.4 Comparison between Different Controllers............................................. 176 7.4.1 Simulation Results ................................................................................... 176 7.4.1.1 Experiments with single Mobile Robot..................................... 180 7.4.1.2 Experiments with Two Real Mobile Robots............................. 182 7.5 Summary ....................................................................................................... 184 8 Simulated Annealing ................................................................................. 185 8.1 Introduction .................................................................................................. 185 8.2 Simulated Annealing ................................................................................... 186 8.2.1 Simulated Annealing Technique ........................................................... 187 8.2.2 Hybrid Technique .................................................................................... 193 8.3 Demonstrations ............................................................................................ 195 8.3.1 Inter Robot Collision Avoidance ........................................................... 195 8.3.2 Experimental Validation for Two Mobile Robots with the Simulation Results.................................................................................................................... 196 8.3.3 Escape from Dead Ends .......................................................................... 198 ix
8.3.4 Navigation of Several Mobile Robots ................................................... 200 8.4 Comparison between Different Controllers............................................. 202 8.4.1 Simulation Results ................................................................................... 202 8.4.2 Experiments with Single Real Mobile Robot ....................................... 206 8.4.3 Experiments with Multiple Mobile Robots .......................................... 208 8.5 Summary ....................................................................................................... 215 9 Conclusions and Further Work ................................................................ 216 9.1 Contributions................................................................................................ 216 9.2 Conclusions................................................................................................... 217 9.3 Further Work ................................................................................................ 217 Appendix – A ......................................................................................................... 219 Software used for Robot navigation...................................................................... 219 A.1 Navigation Software.................................................................................... 219 A.1.1 Obstacle Menu:................................................................................. 219 A.1.2 Number of Robot Menu: ................................................................. 219 A.1.3 Run Menu:......................................................................................... 219 A.1.4 Techniques Menu:............................................................................ 219 A.1.5 Target Menu:..................................................................................... 221 A.1.6 Manual Command (Parameter Menu):......................................... 221 Appendix – B.......................................................................................................... 223 Petri Net Model ........................................................................................................ 223 B.1 Basic Definitions of Petri Net Model:........................................................ 223 Appendix ‐ C .......................................................................................................... 230 Description of Experimental Mobile Robots........................................................ 230 C.1 Khepera II Robot .......................................................................................... 230 C.2 Boe‐Bot Robot ............................................................................................... 231 C.3 Hemisson Robot ........................................................................................... 232 C.4 Koala Robot................................................................................................... 233 Appendix – D ......................................................................................................... 234 Data Mining Tools See5 .......................................................................................... 234 D.1 See5 Required Following files: ................................................................... 234 D.1.1 Application Files .............................................................................. 234 x
D.1.2 Names File......................................................................................... 234 D.1.3 Data File............................................................................................. 235 D.1.3.1 Locate Data.................................................................................. 236 D.1.3.2 Construct Classifier.................................................................... 236 D.1.3.3 Stop............................................................................................... 236 D.1.3.4 Review Output ........................................................................... 236 D.1.3.5 Use Classifier .............................................................................. 236 D.1.3.6 Cross‐Reference .......................................................................... 236 D.1.4 Constructing Classifiers .................................................................. 236 D.1.5 Rulesets.............................................................................................. 237 Appendix – E.......................................................................................................... 240 Data for Rule‐based Controller .............................................................................. 240 References............................................................................................................... 250 Published Papers................................................................................................... 279 Papers Published in International Journals:................................................. 279 Papers Published in International / National Conferences:....................... 280 xi
List of Tables
Table 4.1. Parameters of fuzzy membership functions............................................. 58
Table 4.2. Obstacle avoidance for three‐membership function. .............................. 64
Table 4.3. Obstacle avoidance for five‐membership function. ................................ 65
Table 4.4. Target seeking for three‐membership function. ...................................... 65
Table 4.5. Target seeking for five‐membership function.......................................... 65
Table 4.6. Path lengths using different fuzzy controllers........................................ 81
Table 4.7. Time taken to reach the target using different fuzzy controllers. ........ 81
Table 4.8. Time taken by robots in simulation and experiment to reach target (Fuzzy logic technique). ........................................................................................ 85
Table 5.1. Rules for obstacle avoidance. ..................................................................... 95
Table 5.2. Rules for target finding................................................................................ 96
Table 5.3. Path lengths using different controllers................................................. 109
Table 5.4. Time taken to reach the target using different controllers. ................. 110
Table 5.5. Performance evaluation of different technique for navigation of one mobile robot. ......................................................................................................... 110
Table 6.1. Path lengths using different rule base techniques................................. 147
Table 6.2. Time taken to reach the target using different techniques................... 148
Table 6.3. Time taken by robots in simulation and experiment to reach the target (Rule‐based technique)........................................................................................ 150
Table 7.1. Path lengths using different techniques.................................................. 179
Table 7.2. Time taken to reach the target using different techniques................... 179
Table 7.3. Time taken by robots in simulation and experiment to reach target (Potential field navigation technique)............................................................... 182
Table 8.1. Path lengths using different techniques.................................................. 205
Table 8.2. Time taken to reach the target using different techniques................... 205
Table 8.3. Time taken by robots in simulation and experiment to reach target (Simulated annealing). ........................................................................................ 206
Table d.1. Summary table of the extensions used by See5..................................... 239
xii
List of Figures
Figure 2.1. Flow diagram of the horizontal decomposition method for the navigation of a mobile robot. ................................................................................. 8
Figure 2.2. Flow diagram of the vertical decomposition method for the navigation of a mobile robot. ................................................................................. 9
Figure 2.3. Model of a neuron. ..................................................................................... 20
Figure 2.4. Three common activation functions. ....................................................... 23
Figure 3.1. A three wheeled mobile robot. ................................................................. 50
Figure 3.2. Wheeled mobile robot with left and right angular velocities. ............. 50
Figure 3.3. Wheeled mobile robot with no slip condition........................................ 51
Figure 3.4. A Robot. ....................................................................................................... 51
Figure 3.5. Kinematic parameters of the wheeled mobile robots............................ 52
Figure 3.6. Calculation of angular velocity. ............................................................... 54
Figure 4.1. Fuzzy Controllers for Mobile Robot Navigation. .................................. 59
Figure 4.2. Fuzzy membership functions. .................................................................. 60
Figure 4.3. Left, Front and Right Obstacles Distances. ............................................. 66
Figure 4.4. Resultant Left and Right Wheel Velocity................................................ 70
Figure 4.5. Petri Net Model for avoiding inter‐robot collision................................ 71
Figure 4.6. Obstacle avoidance and target seeking by forty‐five mobile robots using five‐membership function (Initial position). ........................................... 72
Figure 4.7. Obstacle avoidance and target seeking by forty‐five mobile robots using five membership function (Intermediate state). ..................................... 73
Figure 4.8. Obstacle avoidance and target seeking by forty‐five mobile robots using five membership function (Final state). ................................................... 73
Figure 4.9. Collision free movement using five‐membership FLC (Initial scenario)................................................................................................................... 74
Figure 4.10. Collision free movement using five membership FLC (Final state). 75
Figure 4.11. Navigation of large number of robots before starting the mission using five‐membership FLC (1000 robots). ........................................................ 76
Figure 4.12. Navigation of large number of robots after some time from the starting of the mission using five membership FLC (1000 robots). ................ 76
Figure 4.13. Environment for escaping from the dead ends before starting of the mission using five‐membership FLC. ................................................................. 77
xiii
Figure 4.14. Recorded paths of fifteen robots in case of escaping from U‐shaped objects and getting the targets using five‐membership FLC. .......................... 77
Figure 4.15. Workspace for one mobile robot with one target (initial scenario)... 79
Figure 4.16. Navigation path for one mobile robot using three‐membership fuzzy controller. ................................................................................................................ 79
Figure 4.17. Navigation path for one mobile robot using five membership triangular fuzzy controller.................................................................................... 80
Figure 4.18. Navigation path for one mobile robot using Gaussian membership fuzzy controller. ..................................................................................................... 80
Figure 4.19. Initial scenario for real robot (Khepera II) for the similar simulated environment as shown in Figure 4.15. ................................................................ 82
Figure 4.20. Intermediate scenario ‐ one for real robot (Khepera II) using Gaussian membership fuzzy controller.............................................................. 82
Figure 4.21. Intermediate scenario ‐ two for real robot (Khepera II) using Gaussian membership fuzzy controller.............................................................. 83
Figure 4.22. Intermediate scenario ‐ three for real robot (Khepera II) using Gaussian membership fuzzy controller.............................................................. 83
Figure 4.23. Final scenario when Khepera II robot reaches the target. .................. 83
Figure 4.24. Initial scenario for two real robots (Khepera II and Boe ‐ Bot) for the similar simulated environment as shown in Figure 4.9. .................................. 84
Figure 4.25. Intermediate scenario ‐ one for real robot experiment (Khepera II and Boe ‐ Bot) using Gaussian membership fuzzy controller................................. 84
Figure 4.26. Intermediate scenario ‐ two for real robot experiment (Khepera II and Boe ‐ Bot) using Gaussian membership fuzzy controller. ........................ 84
Figure 4.27. Intermediate scenario ‐ three for real robot experiment (Khepera II and Boe ‐ Bot) using Gaussian membership fuzzy controller. ........................ 85
Figure 4.28. Final scenario when Khepera II and Boe ‐ Bot robots reach the target.
................................................................................................................................... 85
Figure 5.1. Four layer neural network for navigation of mobile robots................. 89
Figure 5.2. Training Patterns for navigation of mobile robots. ............................... 90
Figure 5.3. Neuro‐Fuzzy Controller for navigation of mobile robots. ................... 94
Figure 5.4. Obstacle avoidance and target seeking behaviour by ten mobile robots using neural network technique (Initial State). ................................................. 97
Figure 5.5. Obstacle avoidance and target seeking behaviour by ten mobile robots using neural network technique (Final State). ................................................... 97
xiv
Figure 5.6. Escape from dead ends by four mobile robots using neural network technique (Initial State). ........................................................................................ 99
Figure 5.7. Escape from dead ends by four mobile robots using neural network technique (Final State). .......................................................................................... 99
Figure 5.8. Navigation of nine hundred ninety mobile robots using neural network technique (Initial State)........................................................................ 100
Figure 5.9. Navigation of one thousand mobile robots using neural network technique (Intermediate State). .......................................................................... 100
Figure 5.10. Collision avoidance between four mobile robots using neural network technique (Initial State)........................................................................ 101
Figure 5.11. Collision avoidance between four mobile robots using neural network technique (Final State). ........................................................................ 101
Figure 5.12. Collision avoidance by two mobile robots using neuro‐fuzzy technique (Initial State). ...................................................................................... 103
Figure 5.13. Collision avoidance by two mobile robots using neuro‐fuzzy technique (Final State). ........................................................................................ 103
Figure 5.14. Environment for escaping from the dead ends before starting of the mission using neuro‐fuzzy technique............................................................... 104
Figure 5.15. Recorded paths of fifteen robots in case of escaping from dead ends and getting the targets using neuro‐fuzzy technique..................................... 104
Figure 5.16. Navigation of large number of robots before starting the mission neuro‐fuzzy technique (1000 robots)................................................................. 105
Figure 5.17. Navigation of large number of robots after some time from the starting of the mission using neuro‐fuzzy technique (1000 robots). ............ 105
Figure 5.18. Environment for one robot and one target. ........................................ 107
Figure 5.19. Navigation path for one mobile robot using neural network technique. .............................................................................................................. 107
Figure 5.20. Navigation path for one mobile robot using five‐membership fuzzy logic technique with Gaussian membership function. ................................... 108
Figure 5.21. Navigation path for one mobile robot using neuro‐fuzzy technique.
................................................................................................................................. 108
Figure 5.22. Navigation of one mobile robot to reach target with prior knowledge of target.................................................................................................................. 109
Figure 5.23. Initial scenario for navigation of one mobile robot. .......................... 111
Figure 5.24. Navigation path for one mobile robot to reach target using developed neuro‐fuzzy technique..................................................................... 112
xv
Figure 5.25. Navigation path for one mobile robot to reach target for the similar environment as shown in Figure 5.23 (Janglova D., [99]). ............................. 112
Figure 5.26. Initial scenario for real robot as shown in Figure 5.23. ..................... 113
Figure 5.27. Intermediate scenario‐ one for real robot (Khepera II). .................... 113
Figure 5.28. Intermediate scenario‐two for real robot (Khepera II)...................... 113
Figure 5.29. Final scenario of real robot (Khepera II) at the target. ...................... 113
Figure 5.30. Initial scenario for navigation of two mobile robots. ........................ 114
Figure 5.31. Navigation path of two mobile robots after reaching the target using developed neuro‐fuzzy technique..................................................................... 114
Figure 5.32. Navigation path of two robots to reach the target for the similar environment as Figure 28. (Marichal G. N. et al., [113])................................. 115
Figure 5.33. Initial scenario for two real robots (Khepera II and Boe‐Bot) for similar simulated environment as shown Figure 5.32.................................... 115
Figure 5.34. Intermediate scenario‐ one for two real robots (Khepera II and Boe‐
Bot). ........................................................................................................................ 116
Figure 5.35. Intermediate scenario‐ two for two real robots (Khepera II and Boe‐
Bot). ........................................................................................................................ 116
Figure 5.36. Intermediate scenario ‐ three for two real robots (Khepera II and Boe‐
Bot). ........................................................................................................................ 116
Figure 5.37. Final scenario of two real robots ‘Khepera II and Boe‐Bot’ at the target. ..................................................................................................................... 117
Figure 5.38. Initial scenario for four mobile robots. ................................................ 117
Figure 5.39. Navigation path for four mobile robots to reach target using developed neuro‐fuzzy technique..................................................................... 118
Figure 5.40. Navigation path of four robots to reach the target for the similar environment as Figure 5.40 (Marichal G. N. et al. [113])................................ 118
Figure 6.1. Scenario before applying rule 1.............................................................. 126
Figure 6.2. Final scenario when rule 1 is activated. ................................................ 127
Figure 6.3. Final scenario when rule 2 is activated. ................................................ 127
Figure 6.4. Final scenario when rule 8 is activated. ................................................ 128
Figure 6.5. Scenario before applying all the rules simultaneously. ...................... 128
Figure 6.6. Final scenario when are the rules are applied simultaneously.......... 129
Figure 6.7. Rule‐based‐neuro‐fuzzy technique for navigation of mobile robots.132
Figure 6.8. Collision free movement using rule‐based technique......................... 134
Figure 6.9. Collision free movement using rule‐based technique......................... 134
xvi
Figure 6.10. Navigation of one thousand robots using rule‐based technique before starting of simulation. ............................................................................. 135
Figure 6.11. Navigation of one thousand robots after some time from the starting of the mission using rule‐based technique....................................................... 135
Figure 6.12. Environment for escaping from the dead ends before starting of the mission using rule‐based technique. ................................................................. 137
Figure 6.13. Environment for escaping from the dead ends after the robots reaches their targets using rule‐based technique. ........................................... 137
Figure 6.14. Two robots in a highly cluttered environment for finding the targets using rule‐based technique (Initial scenario). .................................................. 138
Figure 6.15. Recorded paths of two robots after reaching their target................. 138
Figure 6.16. Escape from dead ends by ten mobile robots using rule‐based‐neuro‐ fuzzy technique (Initial State). ........................................................................... 140
Figure 6.17. Escape from dead ends by fifteen mobile robots using rule‐based‐
neuro‐ fuzzy technique (Final State). ................................................................ 140
Figure 6.18. Navigation scenario of nine hundred ninety mobile robots using rule‐based‐neuro‐ fuzzy technique (Initial State)............................................ 141
Figure 6.19. Navigation of nine hundred ninety mobile robots using rule‐based‐
neuro‐ fuzzy technique (Intermediate State). .................................................. 141
Figure 6.20. Collision avoidance by two mobile robots using rule‐based‐neuro‐ fuzzy technique (Initial State). ........................................................................... 142
Figure 6.21. Collision avoidance between two mobile robots using rule‐based‐
neuro‐ fuzzy technique (Final State). ................................................................ 142
Figure 6.22. Experimental result for two mobile robots using rule‐based‐neuro‐
fuzzy technique (Initial stage). ........................................................................... 143
Figure 6.23. Experimental result for two mobile robots using rule‐based‐neuro‐
fuzzy technique (Intermediate stage ‐ one). ..................................................... 143
Figure 6.24. Experimental result for two mobile robots using rule‐based‐neuro‐
fuzzy technique (Intermediate stage ‐ two)...................................................... 144
Figure 6.25. Experimental result for two mobile robots using rule‐based‐neuro‐
fuzzy technique (Intermediate stage ‐ three). .................................................. 144
Figure 6.26. Experimental result for two mobile robots using rule‐based‐neuro‐
fuzzy technique (Final stage).............................................................................. 144
Figure 6.27. Environment for one robot and one target. ........................................ 146
Figure 6.28. Navigation path for one mobile robot to reach target using rule‐
based controller. ................................................................................................... 146
xvii
Figure 6.29. Navigation path for one mobile robot to reach target using rule‐
based‐neuro‐fuzzy controller. ............................................................................ 147
Figure 6.30. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Initial stage). ...................................................................................... 148
Figure 6.31. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Intermediate stage ‐ I). ..................................................................... 149
Figure 6.32. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Intermediate stage ‐ II)..................................................................... 149
Figure 6.33. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Intermediate stage ‐ III). .................................................................. 149
Figure 6.34. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Intermediate stage ‐ IV). .................................................................. 150
Figure 6.35. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Final stage)......................................................................................... 150
Figure 7.1. Location of target, robot and obstacles.................................................. 155
Figure 7.2. Total potential function. .......................................................................... 158
Figure 7.3. Front‐rear axis and Left‐right axis of the robot.................................... 161
Figure 7.4. Contour plot for total potential field when the target is located at the (0, 0) along with three obstacles......................................................................... 162
Figure 7.5. Surface plot for total potential field when the target is located at the (0,0) along with three obstacles.......................................................................... 162
Figure 7.6. Orthographic projection for total potential field when the target is located at the (0.5, 0.5) along with three obstacles. ......................................... 163
Figure 7.7. Axon metric representation for total potential field when the target is located at the (0.5, 0.5) along with three obstacles. ......................................... 163
Figure 7.8. Contour plot for total potential field when the target is located at the (0, 0) along with four obstacles. ......................................................................... 164
Figure 7.9. Surface plot for total potential field when the target is located at the (0,0) along with four obstacles. .......................................................................... 164
Figure 7.10. Orthographic projection for total potential field when the target is located at the (0.5, ‐ 0.5) along with four obstacles. ........................................ 165
Figure 7.11. Axon metric representation for total potential field when the target is located at the (0.5, ‐0.5) along with four obstacles. ......................................... 165
Figure 7.12. Potential‐field‐neuro‐fuzzy controller for navigation of mobile robots. .................................................................................................................... 167
xviii
Figure 7.13. Environment before starting of simulation when forty‐five robots involve to reach a target using potential field navigation technique. .......... 168
Figure 7.14. Environment after all the forty‐five robots reach the target using potential field navigation technique. ................................................................ 169
Figure 7.15. Escape from dead ends by ten mobile potential‐field‐neuro‐fuzzy technique (Initial State). ...................................................................................... 170
Figure 7.16. Escape from dead ends by fifteen mobile robots using potential‐field‐
neuro‐fuzzy technique (Final State). ................................................................. 170
Figure 7.17. Navigation scenario of nine hundred ninety‐six mobile robots using potential‐field‐neuro‐fuzzy technique (Initial State). ..................................... 172
Figure 7.18. Navigation of one thousand mobile robots using potential‐field‐
neuro‐fuzzy technique (Intermediate State). ................................................... 172
Figure 7.19. Collision avoidance by two mobile robots using potential‐field‐
neuro‐fuzzy technique (Initial State)................................................................. 173
Figure 7.20. Collision avoidance by two mobile robots using potential‐field‐
neuro‐fuzzy technique (Final State). ................................................................. 173
Figure 7.21. Experimental result for two mobile robots using potential‐field‐
neuro‐fuzzy technique (Initial stage). ............................................................... 174
Figure 7.22. Experimental result for two mobile robots using potential‐field‐
neuro‐fuzzy technique (Intermediate stage ‐ I). .............................................. 174
Figure 7.23. Experimental result for two mobile robots using potential‐field‐
neuro‐fuzzy technique (Intermediate stage ‐ II).............................................. 175
Figure 7.24. Experimental result for two mobile robots using potential‐field‐
neuro‐fuzzy technique (Intermediate stage ‐ III)............................................. 175
Figure 7.25. Experimental result for two mobile robots using potential‐field‐
neuro‐fuzzy technique (Final stage).................................................................. 175
Figure 7.26. Environment for one robot and one target. ........................................ 177
Figure 7.27. Navigation path for one mobile robot to reach target using neuro‐
fuzzy technique. ................................................................................................... 177
Figure 7.28 Navigation path for one mobile robot to reach target using potential field navigation technique. ................................................................................. 178
Figure 7.29. Navigation path for one mobile robot to reach target using potential‐
field‐neuro‐fuzzy technique. .............................................................................. 178
Figure 7.30. Experimental result for single mobile robot (Khepera II) using potential‐field‐neuro‐fuzzy technique (Initial stage)...................................... 180
xix
Figure 7.31. Experimental result for single mobile robot (Khepera II) using potential‐field‐neuro‐fuzzy technique (Intermediate stage ‐ I)..................... 180
Figure 7.32. Experimental result for single mobile robot (Khepera II) using potential‐field‐neuro‐fuzzy technique (Intermediate stage ‐ II). .................. 181
Figure 7.33. Experimental result for single mobile robot (Khepera II) using potential‐field‐neuro‐fuzzy technique (Intermediate stage ‐ III). ................. 181
Figure 7.34. Experimental result for single mobile robot (Khepera II) using potential‐field‐neuro‐fuzzy technique (Final stage). ...................................... 181
Figure 7.35. Target seeking by three mobile robots by using potential‐field‐neuro‐
fuzzy technique (Initial scenario). ..................................................................... 182
Figure 7.36. Target seeking by three mobile robots by using potential‐field‐neuro‐
fuzzy technique (Intermediate scenario ‐ I)...................................................... 183
Figure 7.37. Target seeking by three mobile robots by using potential‐field‐neuro‐
fuzzy technique (Intermediate scenario ‐ II). ................................................... 183
Figure 7.38. All the three mobile robots reach the target by using potential‐field‐
neuro‐fuzzy technique. ....................................................................................... 183
Figure 8.1. The structure of the simulated annealing algorithm........................... 188
Figure 8.2. The Potential Function............................................................................. 189
Figure 8.3. Path‐planning algorithm. ........................................................................ 191
Figure 8.4. Initialisation algorithm. ........................................................................... 192
Figure 8.5. Potential‐field‐simulated‐annealing‐neuro‐fuzzy controller for navigation of mobile robots................................................................................ 194
Figure 8.6. Inter robot collision avoidance using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Initial scenario)........................................ 195
Figure 8.7. Inter robot collision avoidance using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Final scenario).......................................... 196
Figure 8.8. Experimental result for two mobile robots (Khepera II and Boe‐bot) using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Initial stage). ..................................................................................................................... 197
Figure 8.9. Experimental result for two mobile robots using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Intermediate stage ‐ I). ........ 197
Figure 8.10. Experimental result for two mobile robots using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Intermediate stage ‐ II). ....... 197
Figure 8.11. Experimental result for two mobile robots using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Intermediate stage ‐ III)....... 198
xx
Figure 8.12. Experimental result for two mobile robots (Khepera II and Boe‐bot) using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Final stage). ..................................................................................................................... 198
Figure 8.13. Escape from of dead ends by using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Initial scenario)........................................ 199
Figure 8.14. Escape from dead ends by using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Final scenario).......................................... 199
Figure 8.15. Scenario for navigation of one thousand mobile robots before simulation by using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique. .............................................................................................................. 200
Figure 8.16. Scenario for navigation of one thousand mobile robots by using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique after sometime when simulation started. .................................................................................... 201
Figure 8.17. Environment for one robot and one target. ........................................ 203
Figure 8.18. Navigation path for one mobile robot to reach target using rule‐
based‐neuro‐fuzzy technique............................................................................. 203
Figure 8.19. Navigation path for one mobile robot to reach target using potential‐
field‐neuro‐fuzzy technique. .............................................................................. 204
Figure 8.20. Navigation path for one mobile robot to reach target using potential‐
field‐simulated‐annealing‐neuro‐fuzzy technique. ........................................ 204
Figure 8.21. Experimental result for one mobile robot (Khepera II) using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Initial stage).
................................................................................................................................. 206
Figure 8.22. Experimental result for one mobile robot using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Intermediate stage – I)......... 207
Figure 8.23. Experimental result for one mobile robot using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Intermediate stage – II). ...... 207
Figure 8.24. Experimental result for one mobile robot (Khepera II) using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Final stage). 207
Figure 8.25. Collision avoidance by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Initial State). .......................... 208
Figure 8.26. Collision avoidance by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate State ‐ I). ......... 208
Figure 8.27. Collision avoidance by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate State ‐ II)......... 209
xxi
Figure 8.28. Collision avoidance by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate State ‐ III). ...... 209
Figure 8.29. Collision avoidance by three robots using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique after all the robots reaches the target. ... 209
Figure 8.30. Target seeking by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Initial scenario). .................... 210
Figure 8.31. Target seeking by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate scenario ‐ I). ... 210
Figure 8.32. Target seeking by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate scenario ‐ II)... 210
Figure 8.33. Target seeking by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate scenario ‐ III). 211
Figure 8.34. All the three mobile robots reach the target by using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique................................................... 211
Figure 8.35. Target seeking by three mobile robots with two targets in the environment using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique (Initial scenario). ................................................................................ 212
Figure 8.36. Target seeking by three mobile robots with two targets in the environment using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique (Intermediate scenario ‐ I). ............................................................... 212
Figure 8.37. Target seeking by three mobile robots with two targets in the environment using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique (Intermediate scenario ‐ II). .............................................................. 213
Figure 8.38. Target seeking by three mobile robots with two targets in the environment using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique (Final scenario). .................................................................................. 213
Figure 8.39. Navigation of four mobile robots in a cluttered environment using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique (Initial Scenario).
................................................................................................................................. 214
Figure 8.40. Navigation of four mobile robots using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Intermediate Scenario ‐ I)....................... 214
Figure 8.41. Navigation of four mobile robots using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Intermediate Scenario ‐ II). .................... 214
Figure a.1. Obstacles. ................................................................................................... 220
Figure a.2. Fifteen mobile robots. .............................................................................. 220
xxii
Figure a.3. View of the software (ROBOPATH) front‐end user for navigation of multiple mobile robots. ....................................................................................... 221
Figure b.1. A simple Petri Net model........................................................................ 225
Figure b.2. A simple firing example using Petri Net model. ................................. 227
Figure c.1. Khepera II robot. ...................................................................................... 230
Figure c.2. Boe‐Bot robot. ............................................................................................ 231
Figure c.3. Hemisson Robot........................................................................................ 232
Figure c.4. Koala Robot ............................................................................................... 233
Figure d.1. The main window of See5....................................................................... 238
Figure d.2. The Main dialog box. ............................................................................... 238
xxiii
List of Symbols
∨ = Aggregate (Union) Λ = Minimum (Intersection) ∀ = For all α i = A positive scaling factor θdesire = Desire output from the neural network θactual = Actual output from the neural network µ = Fuzzy membership function ρ 0 = Positive constant denoting influences of the obstacle on the robot ρ ( q , q obs ) = The minimum distance from the robot ‘q’ to the obstacle i
ω = Angular velocity of the wheeled mobile robot ω l = Angular velocity of the left driving wheel ω r = Angular velocity of the right driving wheel Al = Point of contact of the left driving wheel Ar = Point of contact of the right driving wheel B = Wheel base of the mobile robot C = Centroid of the mobile robot d = Distance between C and M d[11] = Left obstacle distance from the robot d[21] = Front obstacle distance from the robot d[31] = Right obstacle distance from the robot xxiv
E = Objective function Fatt ( x ) = The attractive potential force FD = frontdist = Front obstacle distance FLC = Fuzzy Logic Controller Frep ( obsi ) = The repulsive potential force HA = Target angle = Heading angle i = 1 to n, n is number of obstacles LD = leftdist = Left obstacle distance LV = leftvelo = Left wheel velocity of a robot M = Mid‐point of the rear wheel base Med = Medium Negative = Left Turn OA = Obstacle Avoidance P = Instantaneous center Positive = Right Turn q = [x, y] = The robots position in the workspace r = Radius of the two rear drive wheel RD = rightdist = Right obstacle distance RV = rightvelo = Right wheel velocity of a robot T = Control parameter TS = Target Seeking t[11] = Target Angle (Angle of the robot w.r.t. target) xxv
Uatt ( q ) = The attractive potential function for robot with respect to target U rep ( obsi ) = The repulsive potential function for robot with respect to obstacle U Total = Total potential influences on the robot V = Translation velocity of a mobile robot vel = velocity Vl = Left real wheel driving velocity Vr = Right real wheel driving velocity VF = Very Fast VN = Very Near VS = Very Slow WMR = Wheeled mobile robot xxvi
1 Introduction
This chapter gives an overview of the research work reported in this thesis. First, the background of the research and the chosen problem domain are outlined. Then, the objectives of this research work are described. Finally, an outline of the thesis contents is provided. 1.1 Background
The most significant challenges confronting autonomous robotics lie in the area of automatic motion planning. Navigation of mobile robots in dynamic environments needs to cope up with large amounts of uncertainties that are inherited from natural environments. Thus navigation of mobile robots deals with large spectrum of different technologies and applications. It draws on some primitive techniques, as well as some of the most advanced technique. Investigations in the field of navigation of mobile robot gained an extensive interest among the researchers since last two decades. This is chiefly due to the necessity to replace human intervention in dangerous environments (e.g. nuclear, space, military mission, harmful material handling, interplanetary explorations etc.) or to develop a helpful automated device for some classical tasks (e.g. cleaning, supervision, carriage, etc.). In today’s flexible manufacturing system environment, the autonomous mobile robot plays a very important role. It is used to transport the parts from one workstation to others, load unload parts, remove any undesired objects from floors, and so on. Without autonomous mobile robot, the work stations, the CNC machines, machining centers will only be scattered and isolated machine tools and they will never become the part of an automated manufacturing system. It is the mobile robot that connects the scattered machine tools into an integrated and coordinated unit, which can 1
continuously, automatically and at a low cost, manufacture a variety of parts. So mobile robot navigation encompasses a number of skills, from high‐level capabilities such as exploring the surrounding environment, building a global map of the environment and planning a path towards a specific goal, to the execution of elementary low level action like avoiding collisions with obstacles. Numerous methods have been proposed, however, they don’t guarantee a solution for the mission because of deadlock problem occurrences. The reason is that the robot does not have a high‐level map reading ability. The goal of autonomous mobile robotics is to build physical systems that can navigate purposefully and without human intervention in cluttered unknown environments. The development of techniques for autonomous robot navigation is one of the major focusing areas in the current investigation. This trend is motivated by the current gap between the available technology and the new application demands, e.g., the current industrial robots have low flexibility in autonomy. These robots perform pre‐programmed sequences of operation in highly constrained environment and are not able to operate in new environments. Autonomous navigation systems are usually classified in the following categories according to the characteristics of the environment in which they have to move: i) structured or known environment, ii) semi structured or partially known environment and iii) unstructured or unknown environments. Another classical way is to send the robot to discover its world and define some landmarks that can be used for navigation. In similar conditions, the robot relies heavily on its sensors, map making and updating. However, natural workspaces present a large amount of uncertainties and mapping techniques. These are time and memory consuming. Hence the need of an intelligent 2
approach such as soft computing techniques can cope with all uncertainties present in the environment. Soft computing techniques involve computations related to neural network, fuzzy logic technique, genetic algorithm, simulated annealing and others. Researchers and practitioners are finding these methods increasingly useful in various problem domains, not only they are new but also they have inherent capabilities of handling imprecision and uncertainty with a reasonable amount of computational complexity. Details of their work are cited in the literature survey. One of the earliest mobile robots being Shakey, a vision‐guided autonomous mobile machine designed at Stanford Institute in 1966 [1]. Research works have concentrated on the control of individual mobile robots. Within the last decade, there has been an interest among the scientists and researchers to co‐
ordinate multiple mobile robots. This interest has stemmed both from practical considerations such as multiple robots are able to handle tasks that individual machine cannot do, for instance carrying large, bulky and heavy loads and desire to create artificial systems that mimic nature in particular by exhibiting some of the primary behaviours observed in human societies.
1.2 Aims and Objectives of this Research
The overall aim of this research is to explore the application of artificial intelligence techniques to navigate multiple mobile robots. In this thesis, fuzzy logic, neural network, rule‐based, potential field navigation and simulated annealing techniques have been used to solve mobile robots navigation problems. In particular, the research aims to determine whether hybrid techniques are appropriate for implementing as navigational algorithms for multiple mobile robots. This type of investigation is justified in this thesis. 3
The main objectives of the present work for navigation of the multiple mobile robots are: ¾ To compute the heading angle for the mobile robots in terms of left wheel velocity and right wheel velocity of the robot. ¾ To develop fuzzy logic techniques using different membership functions. ¾ To build up a neural network technique. ¾ To create a hybrid neuro–fuzzy technique. ¾ To develop rule‐base technique. ¾ To build a hybrid system of rule‐based‐neuro‐fuzzy technique. ¾ To develop an efficient potential field method. ¾ To formulate a hybrid potential‐field‐neuro‐fuzzy technique. ¾ To develop potential‐field‐simulated‐annealing‐neuro‐fuzzy technique for avoidance of local minima during navigation. ¾ Simulation and experimental verifications of the above outlined techniques are to be carried out. 1.3 Outline of the Thesis
The thesis is divided into eight chapters. ¾ Following the introduction, Chapter‐2 is devoted to a survey of the literature on mobile robot navigation. ¾ Chapter‐3 discusses kinematic analysis of mobile robots. 4
¾ Chapter‐4 deals with the analysis of a proposed fuzzy logic technique with three types of membership functions to navigate mobile robots in a static as well as dynamic environment. ¾ The first part of Chapter‐5 describes a neural network technique and the second part deals with neuro‐fuzzy technique for navigation of multiple mobile robots. ¾ Chapter‐6 presents rule‐based techniques, starting with simple rule‐based navigation technique and concluding with an advanced rule‐based‐neuro‐
fuzzy technique. ¾ Chapter‐7 is divided into two sections. First section deals with navigation of mobile robots using potential field method. Second section discusses a hybrid technique i.e., potential‐field‐neuro‐fuzzy technique. ¾ Chapter‐8 confers about the optimisation of potential field method with use of simulated annealing. Finally the hybrid potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique is used for navigation of mobile robots. ¾ In Chapter‐9 conclusions of the research are summarized and scopes for further work are suggested. 5
2 Literature Review
This chapter reviews the literature in the area of mobile robot navigation, focusing on intelligent techniques for navigation control.
2.1 Introduction
A motion planner is an essential component of a robot that interacts with the environment. Without the motion planner, a human operator has to constantly specify the motion for the robot. A considerable amount of research has been done on the development of efficient motion‐planning algorithms. The motion‐
planning problem has been solved in a theoretical sense for the general problem. Recently the coordinations between mobile robots for obstacle avoidance and target seeking are carried out by the researchers using various methods. Soft computing techniques such as fuzzy logic, neural network and genetic algorithm are considered for expressing the subjective uncertainties in human mind. The ultimate goal of mobile robotics research is to endow the robots with high intellectual ability, of which navigation in an unknown environment is achieved by using on‐line sensory information. A significant amount of research efforts have been devoted to this area in the past decades few of which are reviewed below: 2.2 Mobile Robot Navigation
Navigation of a robot is the control of motion from a start point to an end point in a workspace following a path that is either a curve or a series of jointed segments. Many researchers in the area of mobile robots navigation have developed two key approaches. One is functional or horizontal decomposition 6
[2] (Figure 2.1) and the other is behavioural or vertical decomposition [3] (Figure 2.2). The former approach is sequential and involves modelling and planning. The latter approach is parallel and requires exploration and map building. Both approaches use many distinct sensory inputs and computational processes. Decisions such as left turn, right turn, run or stop are made on the basis of those inputs [4]. Levitt et al. [5] defined the aim of navigation control as providing answers to the following three questions: (a) Where am I? (b) Where are other places relative to me? (c) How do I get to other places from here? Question (a) is the problem of identifying the current location. Questions (b) and (c) relate to avoid obstacles and move towards the target. To address both issues a mobile robot must have a way to perceive its environment. Some authors have proposed that use of single sensor (e.g., sonar, laser, vision and infrared) [6, 7, 8, 9, 10, 11, 12] where as others have recommended heterogeneous systems using different types of sensors [13, 14, 15]. Using the environment information perceived at each instant as well as data from previous instants, a strategy should be pursued to enable the robot to reach its target position without colliding with obstacles. Researchers have used many techniques for obstacle avoidance [16, 17, 18, 19]. These techniques, together with the different sensors employed [20, 21] are reviewed below. 7
MOTOR CONTROL EXECUTION PLANNING MODELLING PERCEPTION SENSING ACTION ENVIRONMENT
Figure 2.1. Flow diagram of the horizontal decomposition method for the navigation of a mobile robot. 8
BUILDING MAP
EXPLORE
WANDER
AVOID
SENSING ACTION ENVIRONMENT
Figure 2.2. Flow diagram of the vertical decomposition method for the navigation of a mobile robot. 9
2.3 Kinematic Analysis of Mobile Robots
2.3.1 Introduction
A wheeled mobile robot (WMR) is a wheeled vehicle, which is capable of autonomous motion. An increasing interest in mobile manipulators observed recently in the literature has two sources: first, excellent performance characteristics of mobile manipulators and second, challenging motion planning and control problems [22, 23, 24, 25, 26, 27]. 2.3.2 Kinematic Analysis for Mobile Robot Navigation
Alexander et al. [28] have developed the relationship between the rigid body motion of a robot and the steering and drive rates of wheels. They have used the forward and inverse kinematics to a WMR with simple wheels that is maneuvering over a horizontal plane. Their method guarantees that rolling without skidding or sliding can occur in robot motion. Muir et al. [29] have also developed the motion of wheeled mobile robots on flat terrain. Tsuchiya et al. [30] have discussed motion control of a two‐wheeled mobile robot. They have designed a controller using kinematic model in which the wheels of the robot do not skid at all. Mester [31] has dealt with the modelling and control strategies of the motion of wheeled mobile robots. The model of the vehicle has two driving wheels and its angular velocities are independently controlled. He has analysed the vehicle kinematics model and the control strategies using a feed forward compensator. Hwang et al. [32] have surveyed the work on gross‐motion planning, including motion planners for point robots, rigid robots, and manipulators in stationary, time‐varying, constrained, and movable‐object environments. They have explained general issues in motion planning. Chakraborty et al. [33] have 10
studied the problem of kinematic slip for mobile robots moving on uneven terrain. The simulation results of their developed technique show that the three‐
wheeled mobile robot with torus shaped wheels and passive joints can negotiate uneven terrain without slipping. 2.4 Fuzzy Logic Technique
2.4.1 Introduction
Fuzzy control concepts are useful in both global and local path planning tasks for autonomous mobile objects. Humans have a remarkable capability to perform a wide variety of physical and mental task without any explicit measurements or computations. Examples of everyday tasks are, driving in city traffic, parking a car, and cleaning of house. In performing such familiar tasks, humans use perceptions of time, distance, speed, shape, and other attributes of physical and mental objects. Perceptions are described by propositions drawn from a natural language, in which the boundaries of perceived classes are fuzzy. It is highly desirable to capture the expertise of a human mind and to utilise the knowledge to develop autonomous navigation strategies for mobile robots. Fuzzy logic provides a mean towards accomplishing this goal. Fuzzy logic provides a formal methodology for representing and implementing the human expert’s heuristic knowledge and perception‐base actions. Using the fuzzy logic framework, the attributes of human reasoning and decision‐making can be formulated by a set of simple and intuitive IF (antecedent)–THEN (consequent) rules, coupled with easily understandable and natural linguistic representations. 2.4.2 Fuzzy Logic Technique for Mobile Robot Navigation
The automatic motion‐planning problem in robotics and computer aided manufacturing has been studied extensively. Although planning a sequence of 11
motions to bring together parts in a specific configuration has become essential for several applications, the traditional solutions for path planning have failed for complicated environments as they result computationally infeasible and restricted to their performance, Latombe [34] and Fraichard [35]. Motivated by Zadeh [36] and explored by Mamdani et al. [37] and Kickert et al. [38], many researchers have used fuzzy logic techniques successfully in numerous control systems such as control of mobile robot navigation. Examples of work relating to fuzzy logic for the navigation of mobile robot are described below: Lacroix et al. [39] have presented a complete autonomous system which is capable to perform autonomous navigation in a natural, unstructured and totally unknown environment. The system is endowed with several complex capabilities: environment modelling, localization, trajectory planning and exploring strategies. They have executed the navigation behaviour based on terrain quality. The terrain is classified in four distinct categories: flat, uneven, obstacle, and unknown. Goldberg et al. [40] and Sing et al. [41] have computed an analytical traversability measure for the terrain, based on stereo range data. Roll, pitch, and roughness of terrain cells are estimated from the viewable terrain image. Roll and pitch are calculated by using a least squares method to fit a plane to the range data, and roughness is computed as the residual of the fit. These measures are normalized in the range of [0, 1] and a goodness value is determined, based on the minimum value of the three parameters. A path finder then evaluates the traversability along predetermined candidate paths by taking a weighted combination of the goodness and certainty values. Langer et al. [42] have focused on the development of a navigation system that generates recommendations for vehicle steering, based on the distribution of untraversable terrain regions. A new design for behaviour‐based navigation of field mobile 12
robots on challenging terrain using a fuzzy logic approach and a novel measure of terrain traversability have been developed by Seraji et al. [43]. Li et al. [44] have designed and implemented an autonomous car‐like mobile robot (CLMR) control system, where the set up consists of the host computer, communication module, CLMR, and vision system. They have used fuzzy garage‐parking control (FGPC) and fuzzy parallel‐parking control (FPPC) to control the steering angle of the CLMR. Li et al. [45] have used the concepts of car maneuvers, fuzzy logic control (FLC), and sensor‐based behaviours to implement the human‐like driving skills by an autonomous car‐like mobile robot. They have used four kinds of FLCs: i) fuzzy wall‐following control, ii) fuzzy corner control, iii) fuzzy garage‐parking control, and iv) fuzzy parallel‐
parking control, which are synthesized to accomplish the autonomous fuzzy behaviour control (AFBC). They have presented computer simulation results to illustrate the effectiveness of their proposed control schemes and demonstrated the feasibility in practical car maneuvers. Baturone et al. [46] have described the design and implementation of a fuzzy control system for car‐like autonomous vehicle. They have addressed problem for diagonal parking in a constrained motion. Ohkita M. et al. [47] have controlled an autonomous mobile robot for the flush parking. They have used fuzzy rules those are derived from the modelling driving actions of a car. Zhao et al. [48] have developed and experimentally demonstrated a robust automatic parallel parking algorithm for parking in compact spaces. They have designed novel fuzzy logic controllers for each step of the maneuvering process. The controllers are first demonstrated by simulation using the kinematic model of a skid steering autonomous ground vehicle (AGV). The drive control of an autonomous mobile robot is a new approach to recognize and adapt to the surrounding environment. Maeda et al. [49] have 13
developed fuzzy control based on forecast learning. They have shown their results in simulation as well as experiment mode to drive the control of the robot. An approach for building multi‐input and single‐output fuzzy models has been proposed by Joo et al. [50]. They have applied their technique to construct a fuzzy model for the navigation control of a mobile robot. Montaner et al. [51] have designed a fuzzy controller for autonomous mobile robot navigation to reduce the travel time from an initial to final position. Their technique was used on an experimental mobile robot, which uses a set of seven ultrasonic sensors to perceive the environment. Simulation and experimental results show that their method can be used satisfactorily on a mobile robot moving on unknown static terrains. An evolutionary learning of robot behaviours has been designed by Iwakoshi et al. [52] for Fuzzy Classifier System (FCS). They have presented eight different conditions in simulation to validate their technique. Li et al. [53] have designed a real‐time fuzzy target tracking control scheme for autonomous mobile robot by using infrared sensors. They have used infrared transmitters on the target and reflective sensors on the tracker mobile robot for target tracking control. They have shown their results in simulation mode. Xu et al. [54] have presented real‐time fuzzy reactive control for automatic navigation of an intelligent mobile robot in an unknown and changing environment. The reactive rule base governing the robot behaviour is synthesized corresponding to the various situations defined by the instant robot motion, environment and target information. Simulation results have been presented by the authors to validate their approach. Their techniques have not been investigated for target seeking and multiple mobile robot navigation. A navigation method was designed by Toda et al. [55], which employs sonar‐based mapping of crop rows and fuzzy logic technique to control steering 14
for a wheeled mobile robot in an agricultural environment. The problem of motion and control law design for a mobile robot have been developed by Rigatos et al. [56] for a partially unknown environment with stationary obstacles and moving objects. The authors have established the stability of their proposed method. Das et al. [57] have assumed a control structure that makes possible the integration of a kinematic controller and an adaptive fuzzy controller for trajectory tracking for nonholonomic mobile robots. The system uncertainty, which includes mobile robot parameter variation and unknown nonlinearities, is estimated by a fuzzy logic system (FLS). The real‐time control of mobile robots is achieved through the online tuning of FLS parameters. Computer simulations as well as experimental results are presented which confirm the effectiveness of the proposed tracking control law. Lee et al. [58] have proposed a fuzzy algorithm to navigate a mobile robot from a given initial to a desired final configuration in an unknown environment filled with obstacles. The mobile robot is equipped with an electronic compass and two optical encoders for dead‐reckoning, and two ultrasonic modules for self‐localization and environment recognition. From the readings of sensors at every sampling instant, the proposed fuzzy algorithm will determine the priorities of thirteen possible heading directions. Then the robot is driven to an intermediate configuration along the heading direction that has the highest priority. The navigation procedure will be iterated until a collision‐free path between the initial and the final configurations is found. To show the feasibility of the proposed method, in addition to computer simulation, experimental results are also demonstrated by the authors. An extensive fuzzy behaviour‐based architecture for the control of mobile robots in a multiagent environment has been formulated by Vadakkepat et al. [59]. The architecture is implemented on a team of three soccer robots performing different roles interchangeably. 15
Yang et al. [60] have studied the goal‐unreachable problems found in fuzzy logic‐based algorithms for mobile robot navigation systems. Two algorithms based on sensory information are developed to address problems with Goal‐Unreachable with Large Obstacles (GUWLO) and Goal‐Unreachable with Nearby Obstacles (GUWNO). The GUWLO problem occurs when the absolute value of the target angle is large and the directions to the left (or right) are completely blocked. The GUWNO problem arises because of the repulsive influence from obstacles close to the goal position. They have presented experimental results to demonstrate the effectiveness of the resulting fuzzy navigation system and its improved performance over conventional fuzzy logic navigation algorithms. Kodagoda et al. [61] have proposed a control structure for uncoupled longitudinal and lateral control of an autonomous guided vehicle. Longitudinal control is achieved via two uncoupled fuzzy controllers, viz., a fuzzy drive controller and a fuzzy braking controller switched appropriately by a supervisory controller. Fukuda et al. [62] have proposed an integrated structure for intelligent robotic systems based on a fuzzy controller. They have focused mainly on the perception capability based on the sensory network. Castellano et al. [63, 64] have presented two methods for automatically extracting the set of fuzzy rules for a reactive fuzzy controller from examples supplied by a human operator executing the same task. They have applied their technique to build a reactive wall‐follower for navigation of a TRC Labmate mobile robot. Benreguieg et al. [65] have used navigator having two fuzzy controllers, one is angular another is linear speed. Their navigation function consists of obstacle avoidance and reacts with the shortest response time. They have demonstrated their techniques on two distinct autonomous mobile robots. Goodridge et al. [66] have presented modular fuzzy control architecture and an inference engine, which are used to control in complex systems. They have successfully used a multilayered 16
fuzzy behaviour fusion based reactive control system on an autonomous mobile robot, MARGE. Miyata et al. [67] have utilised fuzzy control theory for controlling an autonomous mobile robot for a parallel parking. They have reduced the dead angle of their mobile robot DREAM‐1 for parallel parking. Yen et al. [68] have used fuzzy logic to extend Payton and Rosenblatt’s behavioural architecture for mobile robot control. By using fuzzy rules in Payton and Rosenblatt’s behaviours the mobile robot controller became simple, extensible and understandable and can cope up with unknown obstacles in a dynamic environment. A sensor‐based navigation method utilising the fuzzy logic and reinforcement learning has been presented by Beom et al. [69] for complex environments. They have shown effectiveness of their method with a force field method. Their proposed method enables the mobile robot to navigate through complex environment where a local minimum is present. Beaufrere et al. [70] have solved the problem of navigation for a single mobile robot in a totally unknown environment using fuzzy logic. They have shown their results in simulation as well as in experimental validation on a single mobile robot. Fu et al. [71] have described about autonomous mobile robot navigating in an unknown environment. The difficulty is avoiding unexpected objects on its way to the goal. They have presented a new parallel double‐layered fuzzy control system for an autonomous mobile to avoid static or dynamic objects in uncertain environments. They have shown simulation and experimental results on the actual robot so that the proposed method can be efficiently applied to robot navigation in complex and unknown environment. A fuzzy temporal control system for the guidance of a robot in landmark detection and simulated dynamic environments has been described by Carinena et al. [72] and Mucientes et al. [73]. By using their technique the moving object approaching the robot is 17
not subjected to any type of restriction in its movements, and able to vary its velocity and direction at any moment. A fuzzy logic‐based real‐time navigation controller is described by Liu et al. [74]. Their controller combines the path planning and trajectory following as an integrated and coordinated unit so that it executes tasks such as docking and obstacle avoidance on‐line. Pratihar et al. [75] have developed a collision‐free path for multiple robots using genetic‐fuzzy systems. Aguirre et al. [76] have briefly presented the architecture that is focused on the design, coordination and fusion of the elementary behaviours. The design was based on regulatory control using fuzzy logic control and the coordination was defined by fuzzy rules. Tanaka et al. [77] have presented backing control of computer‐simulated mobile robots with multiple trailers by fuzzy modelling and control. They have dealt with two types of robots: one robot having five trailers and the other with ten trailers. They have used Takagi‐Sugeno fuzzy model for control of robots. Demirli et al. [78] have introduced a new fuzzy logic‐based approach for dynamic localization of mobile robots. They have used sonar data collected from a ring of sonar sensors mounted around the robot. The angular uncertainty and radial imprecision of sonar data are modelled by possibility distributions. Combining information from adjacent sensors reduces the uncertainty in sonar readings. The reduced models of uncertainties are used to construct a local fuzzy composite map of the environment. The local fuzzy composite map is fitted to the given global map of the environment to identify robot’s location. Their proposed algorithm is implemented on a mobile robot and the results are reported. Mucientes et al. [79] have designed an automated fuzzy controller using genetic algorithms for the implementation of the wall‐following behaviour in a mobile robot. The algorithm is based on the Iterative Rule 18
Learning (IRL) approach. Their technique has no restrictions placed neither in the number of linguistic labels nor in the values that define the membership functions. Khatib et al. [80] have used a data‐driven fuzzy approach for solving the motion‐planning problem of a mobile robot in the presence of moving obstacles. The approach consists of devising a general method for the derivation of input–output data to construct a fuzzy logic controller (FLC) off‐line. The FLC is constructed based on the use of previously developed data, which can be used on‐line by the robot to navigate among moving obstacles. They have compared their results with those obtained by fuzzy‐genetic and another hybrid and data‐
driven design. Abdessemed et al. [81] have presented the theoretical development of a complete navigation problem of an autonomous mobile robot. The situation for which the vehicle tries to reach the endpoint is treated using a fuzzy logic controller. They have solved the problem of extracting the optimised IF–THEN rule by using an evolutionary algorithm. They have developed a new approach based on fuzzy concepts to avoid any collision with the surrounding environment when the latter becomes relatively complex. Simulation results show that the designed fuzzy controller achieves effectively any movement control of the vehicle from its current position to its target and without any collision. Godjevec [82] has outlined some linguistic rules for navigation of a mobile robot. He used fuzzy logic technique to implement the rules. He has shown numerical examples for the navigation of a single mobile robot in a simple environment condition. 19
2.5 Neural Network Technique
2.5.1 Introduction
A neural network is a parallel‐distributed processor comprising several simple computational units known as neurons [84]. Figure 2.3 shows the model of a neuron. A neuron model can be identified by three basic elements. X1 Wk1 X2 Wk2 Input Signals ∑
Summing junction Xp uk
ϕ ( ⋅)
yk
Output Activation function Wk
Figure 2.3. Model of a neuron.
¾ A set of synapses or connecting links, each of which is characterised by a weight or strength of its own. Specifically, a signal xj at the input of synapse ‘j’ connected to neuron ‘k’ is multiplied by synaptic weight wkj. ¾ An adder for summing the input signals after they have been weighted by the respective synapses of the neuron. ¾ An activation function is used for transforming the result of the adder and limiting the amplitude of the output of a neuron. Generally, the 20
normalized amplitude range of the output of a neuron is given as the closed unit interval [0, 1] or alternatively [‐1, 1]. In mathematical terms, the following pair of equations can describe the operation of a neuron ‘k’: p
uk =
∑w
kj
xj (2.1) (2.2) j=1
yk = ϕ ( u k ) Where x1 , x 2 ,........, x p are the input signals, p is the number of input signals, w k1 , w k2 ,.............., w kp are the synaptic weights of neuron ‘k’, ϕ ( ⋅) is the activation function and y k is the output signal of the neuron. The activation function, denoted by ϕ ( ⋅) , defines the output of a neuron in terms of the activity level at its input. Three types of activation functions, which are commonly used, are shown in Figure 2.4. A neural network resembles the brain in two respects: i)
Knowledge is acquired by the network through a learning process. ii)
Inter‐neuron connection strengths known as synaptic weights are used to store the knowledge. The procedure used to perform learning is called a learning algorithm, the function of which is to modify the synaptic weights of the network in an orderly fashion so as to attain a desired design objective. The use of neural networks offers the following useful properties: ¾ In a neural network, modification of the synaptic weights and therefore learning can be carried out with training examples. In most cases, a 21
training set is repeatedly presented to the neural network and the synaptic weights of the network are modified so as to minimise the difference between the desired response and the actual response (in the case of supervised learning), or until the output of the network has stabilised (in the case of unsupervised learning). ¾ A neural network trained to operate in a specific environment can deal with minor changes in the operating environmental conditions. Thus, neural networks are said to have the ability to generalise. ¾ A neural network has the potential to be inherently fault tolerant in the sense that its performance tends to degrade slowly under adverse operating conditions [85]. 22
ϕ (v)
ϕ ( v ) = 1 if v ≥ 0
(0,1)
0 if v < 0
(0,0)
v
a) Threshold function (0,1)
ϕ (v)
(-0.5,0) (0,0) (0.5,0)
v
1 if v ≥ ϕ ( v ) =
1
‐1
v + 0.5 if > v > 2
2
‐1
0 if v ≤ 2
b) Ramping function ϕ (v)
(0,1)
(0,0.5)
1
2
(0,0)
ϕ ( v ) = v
1
1 + exp ( ‐v )
c) Sigmoid function Figure 2.4. Three common activation functions. 23
2.5.2 Neural Network Technique for Mobile Robot Navigation
Many researchers have used neural networks for the navigation of mobile robots. Literatures related to their work are given in this section. Tani et al. [86, 87, 88, 89] have discussed a novel scheme for sensory‐based navigation of a mobile robot using neural network. They have formulated the problem of goal‐directed navigation as an embedding problem of dynamical systems. Millan [90], Castellano et al. [91], and Dubrawski et al. [92] have used neural network for navigation of mobile system. Gu et al. [93] have presented a new path‐tracking scheme for a car‐like mobile robot based on neural predictive control. A multi‐layer back‐propagation neural network is employed to model non‐linear kinematics of the robot. The neural predictive control for path tracking is a model‐based predictive control based on neural network modelling, which can generate its output in terms of the robot kinematics and a desired path. The multi‐layer back‐propagation neural network is constructed by a wavelet orthogonal decomposition to form a wavelet neural network that can overcome the problem caused by the local minima when training the neural network. They have provided simulation results for the modelling and control to justify their proposed scheme. Yang et al. [94, 95, 96] have proposed an efficient neural network method for real‐time motion planning of a mobile robot and a multi‐joint robot manipulator with safety consideration in a non‐stationary environment. The optimal robot motion they have planned through the dynamic neural activity landscape of the biologically inspired neural network without any prior knowledge of the dynamic environment and without any learning procedures. The effectiveness and the efficiency have been demonstrated through simulation and comparison studies. A step towards a completely automated approach to mobile robot 24
navigation was made by Ster [97]. He has extended the approach to learning a topological description of the environment with recurrent neural networks. In his extended approach, both the reactive behaviour and the criterion for the decision points are considered. Results of experiments conducted with a simulated mobile robot equipped with proximity sensors and a color video camera shows the applicability of their proposed approach. Weber et al. [98] have demonstrated that purely neural network based vision and control algorithms can successfully be applied to a real robotic docking problem. They have presented a solution based solely on neural networks: object recognition and localisation is trained, motivated by insights from the lower visual system. After training their robot can approach the table at the correct position and in a perpendicular angle. Janglova [99] has dealt with a path planning and control of an autonomous robot, which move, safely in partially structured environment. They have described their approach for solving the motion‐planning problem in mobile robot control using neural network‐based technique. Their method of the constructing a collision‐free path for moving robot among obstacles is based on two neural networks. The first neural network is used to determine the “free” space using ultrasound range finder data. The second neural network “finds” a safe direction for the next robot section of the path in the workspace while avoiding the nearest obstacles. He presented simulation examples of generated path with his proposed technique. Lebedev et al. [100] have proposed a new type of neural network—the Dynamic Wave Expansion Neural Network (DWENN)—, which is capable of calculating dynamic distance potentials, useful for route generation in time‐varying environments. For the DWENN model, no priori knowledge of the environment is needed, as well as no learning process is required to perform path generation. Since the network is only locally connected, the computational complexity grows linearly in the number of neurons in the network field. Their 25
model is parameter‐free, computationally efficient, and its complexity does not explicitly depend on the dimensionality of the configuration space. Saga et al. [101] have proposed a self‐supervised learning method. The simulation results proved that their self‐supervised learning and the prediction networks are effective. Gaudiano et al. [102] have introduced a neural network mobile robot controller (NETMORC). Their controller is based on previously developed neural network models of biological sensory‐motor control, autonomously learns the forward and inverse odometry of a differential drive robot through an unsupervised learning‐by‐doing cycle. The controller is able to adapt in response to long term changes in the robot’s plant, such as a change in the radius of the wheels. Fierro et al. [103] have presented control structure that makes possible the integration of a kinematic controller and a neural network (NN) computed‐
torque controller for nonholonomic mobile robots. A combined kinematic/torque control law is developed using backstepping and stability is guaranteed by Lyapunov theory. This control algorithm is applied to the three basic nonholonomic navigation problems: tracking a reference trajectory, path following, and stabilization about a desired posture. Gutierrez‐Osuna et al. [104] have presented a probabilistic model of ultrasonic range sensors using backpropagation neural networks trained on experimental data. The sensor model provides the probability of detecting mapped obstacles in the environment, given their position and orientation relative to the transducer. The detection probability is used to compute the location of an autonomous vehicle from those obstacles that are more likely to be detected. Their neural network model is more accurate than other existing approaches, since it captures the typical multilobal detection pattern of ultrasonic transducers. Their model can help a robot choose the most reliable geometric beacons for localization. They performed two experiments, which proved the multilobal detection pattern of 26
the transducer. By modelling the different lobes, their model is more accurate than Gaussian distributions. Barshan et al. [105] have investigated the processing of sonar signals using neural networks for robust differentiation of commonly encountered features in indoor robot environments. Their neural network differentiates more targets with higher accuracy, improving on previously reported methods. They have used unsupervised learning algorithms to make the classification process more robust to changes in environmental conditions. Giaquinto et al. [106] have presented a cellular neural network (CNN) for real‐
time stereo vision, useful as a passive optical range finder for autonomous robots and vehicles. They have reported experimental results with the CNN demonstrating the performance on robot application. Kositsky et al. [107] have used neural tissue to execute predetermined functions and developed a research tool, which includes the brainstem of a lamprey and a two‐wheeled robot interconnected in a closed loop. Quoy et al. [108] have used dynamical neural networks based on the neural field formalism for the control of a mobile robot. With their formulation the robot able to navigates in an open environment and also plan a path for reaching a particular goal. The neural net based feed forward controller has been proposed by Koh et al. [109] and applied to the trajectory tracking control of a mobile robot. Their neural network was a multi‐layered structure consisting of four input nodes and two output nodes. They have shown their effectiveness of their proposed control scheme through simulation. Kar et al. [110] have described a simple neuron‐based adaptive controller for trajectory tracking of nonholonomic mobile robots without velocity measurements. The controller is based on structural knowledge dynamics of the robot and the odometric calculation of robot position only. They have taken the wheel actuator dynamics into account. An approximation network approximates nonlinear function involving robot dynamic parameters so that no knowledge of those 27
parameters is required. The real‐time control of mobile robot is achieved through the on‐line learning of the approximation network. They have described both the simulation and experimental results in detail. Pal et al. [111] have used feed forward neural net to navigate a mobile robot. They have validated their technique in simulation as well as in experimental mode. A motion controller based on an inverse neural network controller and tracking controller using backstepping technique was proposed by Zhang et al. [112]. They have shown experimental results on a low‐quality mobile robot to validate the neural network technique. 2.5.3 Neuro-Fuzzy Technique for Mobile Robot Navigation
Fuzzy logic system promises an efficient way for obstacle avoidance. They are able to treat uncertain and imprecise information; they make use of knowledge in the form of linguistic rules. Their drawbacks are caused mainly by the difficulty of defining accurate membership functions and lack of a systematic procedure for the transformation of expert knowledge into the rule base. However, it is difficult to maintain the correctness, consistency, and completeness of a fuzzy rule base being constructed and tuned by a human expert. Reinforcement learning method is capable of learning the fuzzy rules automatically. However, it incurs heavy learning phase and may result in an insufficiently learned rule base due to the curse of dimensionality. Neural networks have the ability to learn. Therefore supervised learning method is used to determine the membership functions for the input and output variables simultaneously. Marichal et al. [113] and Acosta et al. [114] have proposed a neuro‐fuzzy strategy to drive a mobile robot. Their approach is capable of extracting automatically the fuzzy rules and the membership functions in order to guide a mobile robot. The necessary information to obtain the fuzzy rules is provided by 28
a set of trajectories. These trajectories are obtained from a human guidance, such that the mobile robot avoids the different obstacles. Their proposed neuro‐fuzzy strategy consists of a three layer neural network along with a competitive learning algorithm. They have implemented their technique in simulation and obtained satisfactory results. Ma et al. [115] have presented a new fuzzy neural network (FNN) according to the characteristic of the self‐reaction of a mobile robot in an unknown environment. Their technique can be used efficiently to control a mobile robot based on different sensing information. Simulation results on the three DOF mobile robots demonstrated the advantages and the validity of their proposed method. Lee [116] has used a neural network for behaviour decision controller. The input of the neural network is decided by the existence of other robots and the distance from other robots. The output determines the directions in which the robot moves. The connection weight values of this neural network are encoded as genes, and the fitness individuals are determined using a genetic algorithm. The fitness values imply how much group behaviours fit adequately to the goal and can express group behaviours. They have validated the system through simulation. Er et al. [117,118] have used Generalized Dynamic Fuzzy Neural Networks (GDFNN) based controller successfully implemented on the Khepera II mobile robot. By virtue of the GDFNN learning algorithm, not only the parameters of the controller can be adjusted, but also the structure of the controller can be self‐
adaptive. The experiment shows that the developed controller has a parsimonious structure and the performance of the system is superior to the conventional fuzzy logic approach. Hui et al. [119] have developed a Neuro‐
fuzzy technique to determine time‐optimal, collision‐free path of a car like mobile robot navigating in a dynamic environment. A fuzzy logic controller (FLC) is used to control the robot and the performance of the FLC is improved by 29
using three different Neuro‐Fuzzy (NN‐FLC) approaches. The performances of these Neuro‐Fuzzy approaches are compared among themselves and with those of three other approaches, such as default behaviour, manually‐ constructed FLC and potential field method, through computer simulations. Watanabe et al. [120, 121] have described a fuzzy‐Gaussian neural network (FGNN) controller by applying a Gaussian function as an activation function. They use a specialized learning architecture so that membership function can be tuned without using expert’s manipulated data. The effectiveness of their proposed method is illustrated by performing the simulation of a circular or square trajectory tracking control. Ng et al. [122] have applied neural integrated fuzzy controller (NiF‐T) to control the robot motion, steering angle, heading direction, and speed. They have used five rules to train the wall following NiF‐T, while nine rules are used for the hall centering. They have used their architecture to control a difficult nonlinear dynamic problem. Araujo et al. [123] have applied the parti‐game learning approach to navigate a mobile robot in unknown environments. Their approach based on the application of the fuzzy ART neural architecture for sensor‐based on‐line map building. They have shown their results of experiments demonstrated the application of the described methods to a real mobile robot. Moon et al. [124] have presented a novel block‐based neural network (BBNN) model and its application to pattern classification and mobile robot control problems. A genetic algorithm simultaneously optimises the structure and weights of BBNN. Their optimised BBNN is able to solve practical problems as pattern classification and mobile robot control. Ye et al. [125] have presented a neural fuzzy system with mixed learning algorithm where supervised learning method is used to determine the input and output membership functions 30
simultaneously and reinforcement learning algorithm is employed to fine tune the output membership functions, therefore, a sufficient and efficient learning is achieved. From their performance algorithm, the following points are depicted: i) it is able to achieve a path reasonably close to the shortest path, ii) it has smooth motion, and iii) it is very robust to sensor noise. Pulasinghe et al. [126] have proposed a fuzzy‐neural network methodology for controlling machines using spoken language commands with the intention of i) interpreting natural language words with fuzzy implications and ii) screening out‐of‐vocabulary words, which gives the ability to converse freely without restrictions. Cavalcanti et al. [127] have applied genetic algorithms, neural networks, and nanorobotics concepts to the problem of control design for nanoassembly automation and its application in medicine. They have elaborated and simulated a virtual environment focused on control automation for nanorobotics teams that perform a large range of tasks and positional assembly manipulation in a complex three‐
dimensional workspace. Ro et al. [128] have proposed a neural‐fuzzy hybrid control approach for controlling a mobile robot that can avoid an unexpected obstacle in a navigational space. They have used neural controller for global moving information in the heuristically determined navigational space. On the other hand, fuzzy controller is used by them to adjust the moving information given from the neural controller. Daxwanger et al. [129] have presented an approach for acquisition and transfer of an experienced driverʹs skills to an automatic parking controller. Their controller processes the visual input information from a video sensor and generates the corresponding steering commands. They have used fuzzy hybrid control architecture in which the controller is configured as a combination of an artificial neural network and a fuzzy network. They have experimentally validated their control architectures with a mobile robot. Dubrawski et al. [130] have used Fuzzy‐ART self‐organizing 31
neural classifier to adaptive categorization of the perceptual space of a mobile robot. They have developed a learning system for reactive locomotion control in an unknown, cluttered environment. Experimental results show that their technique is efficient. Li et al. [131] has presented neuro‐fuzzy systems for intelligent robot navigation and control under uncertainty. He has used neural network to process range information for understanding distribution of obstacles in local regions; while fuzzy sets and fuzzy rules are used to formulate reactive behaviours quantitatively and to coordinate conflicts and competitions among multiple behaviours efficiently. The simulation results show that, using his system, navigation performance in complex and unknown environments can be improved. Godjevac et al. [132] have discussed an adaptive fuzzy system which has been used successfully in a control system for robot obstacle avoidance and wall following. Then they have considered a radial basis function neural network and shown that a modified form of this network is identical with the fuzzy controller. This is similar to a neuro‐fuzzy controller. They have presented numerical examples to demonstrate the validity of their approach to control of a mobile robot. Tunstel et al. [133] have used three hybrid fuzzy control schemes for robotics applications. The first scheme concentrates on a control architecture, which incorporates fuzzy logic theory into the framework of behaviour control for mobile robot navigation. The second scheme incorporates Genetic Algorithms in a learning scheme to adapt to various environmental conditions. The third scheme concentrates on a methodology that uses a Neural Network (NN) to adapt a fuzzy logic controller (FLC) in manipulator trajectory following tasks. Their proposed hybrid scheme has a learning mechanism by which it can adapt to changing operating conditions. Bourdon et al. [134] have presented solutions 32
by using Artificial Intelligent Techniques (Fuzzy Logic, Neural Networks) to solve complex mobile robotics problems. They have validated their approaches on real robots. Rusu et al. [135] have used a neuro‐fuzzy controller for controlling a robot. They have demonstrated an experimental neuro‐fuzzy controller for sensor‐based mobile robot navigation in indoor environments. The autonomous mobile robot uses infrared and contact sensors for detecting targets and avoiding collisions. Mbede et al. [136] have used intelligent motion control strategy that makes possible the integration of fuzzy obstacle avoidance, multisensor‐based motions, and robust recurrent neural network control. The simulation results, validate under real conditions, clearly demonstrate that their proposed strategy was an effective approach. Pratihar et al. [137] have demonstrated a genetic‐
fuzzy approach for solving the motion‐planning problem of a mobile robot in presence of moving obstacles. In the genetic‐fuzzy approach, obstacle free paths are found locally by using the fuzzy logic technique, where optimal scaling factor for condition and action variables are found using genetic algorithms. Hegazy et al. [138] have presented a new neuro‐fuzzy controller which controls the navigation system of a mobile robot to move safely in an unknown environment in presence of obstacles. Nefti et al. [139] have dealt with the application of a neuro‐fuzzy inference system to navigate mobile robot in an unknown or partially known environment. They have considered three elementary robot tasks: following a wall, avoiding an obstacle and running towards the goal. Each module acts as a Sugeno–Takagi fuzzy controller where the inputs are the different sensor information and the output corresponds to the orientation of the robot. They have shown their results in experimental mode to navigate a mobile robot in unknown or partially unknown environment. Tsoukalas et al. [140] have presented a neuro‐fuzzy methodology for motion planning of semi‐
autonomous mobile robots. Fuzzy descriptions are used for the robot to acquire a 33
repertoire of behaviours from an instructor, which it may subsequently refine and recall using neural adaptive techniques. Their methodology has been successfully tested with a simulated robot performing a variety of navigation tasks travel from some start to target point without colliding with obstacles present in its path. Althoefer et al. [141] have reported navigation system for robotic manipulators. Their control system combines a repelling influence related to the distance between manipulator and nearby obstacles with the attracting influence produced by the angular difference between actual and final manipulator configuration to generate actuating motor commands. They have used fuzzy logic for the implementation of these behaviours which leads to a transparent system that can be tuned by hand or by a learning algorithm. The proposed learning algorithm, based on reinforcement learning neural network techniques, can adapt the navigator to the idiosyncratic requirements of particular manipulators, as well as the environments they operated in. Their method is suitable for navigation of a single mobile robot. 2.6 Rule Based Technique
2.6.1 Introduction
If‐then rules are one of the most common forms of knowledge representation used in expert systems. Systems employing such rules as the major representation paradigm are called rule‐based systems. One of the first popular computational uses of rule‐based systems was the work by Newell et al. [142]. In their work the rules were used to model human problem solving behaviour. However the mathematical model of production systems was used earlier by Post [143] in the domain of symbolic logic. Work on rule‐based systems has been motivated by two different objectives. One of these is psychological modelling. 34
The aim of this modelling is to create programs that embody a theory of human performance of simple tasks and reproduce human behaviour. There are number of theories, which use rules as their basis and try to explain human behaviour. The most common are SOAR Rosenbloom [144] and ACT Anderson [145]. The other objective aims at creating expert systems, which exhibit competent problem solving behaviour in some domain. Therefore the navigation of mobile robots can be solved by rule‐based technology. Researchers use rule base because of their i) homogeneity ii) simplicity iii) independence and iv) modularity. In a non‐deterministic environment, autonomous control of mobile robot is a complex problem involving planning, perception, navigation and motion control. An adequate theory of optimal analytical control of such systems does not exist presently. Efforts have been made by the researchers by using rule‐
based controller to solve the mobile robot motion control problems. In this control scheme, the relationships between the states of the robot, environment and control actions are transformed into the form of rules of control, that prescribe the action required to change the world description from a present state to a desired state. 2.6.2 Rule based Technique for Mobile Robot Navigation
Many researchers have used rule‐based technique for different problems. Literatures related to their work are discussed in this section. Takagi et al. [146] have proposed rule base method to make a mobile robot to do a meaningful job i.e., pushing a box from one place to another place. By observation they have introduced a hierarchical structure in rules. The rules they have introduced are to maintain the angle between the robot and the box. Other rules are considered only when the angle is sufficiently small. The total number of rules they have used in their experiment is 120. They have constructed an 35
experimental robot to use their rule base technique for doing meaningful job. Gaeta et al. [147] have used rule‐based method for determining age groups. It has been suggested by them that, there is an age‐related decline in the efficacy of integrating multiple sources into a single auditory stream. Tunstel et al. [148] have discussed operational safety and health monitoring of critical matters of autonomous field mobile robots (e.g. planetary rovers operating on challenging terrain). de Souza et al. [149] have proposed a reusable architecture for rule‐based systems described through design patterns. The aim of these patterns is to constitute a design catalog that can be used by designers to understand and create new rule‐based systems, thus promoting reuse in these systems. Dietrich et al. [150] have discussed a general architecture for rule‐based agents and described the method to realise the navigation control with the help of semantic web languages. McIntosh et al. [151] have described a simple ‘proof of concept’ rule‐based system. They have developed a technique to contribute methodologically the management‐oriented modelling of vegetated landscapes. They have not specifically used rule‐based technique for navigation of mobile robot. Altaira is a rule‐based visual language used by Pfeiffer et al. [152, 153, 154] is intended for the control of small mobile (e.g. LEGO) robots. A method of adapting an environmental conditions using rule base is introduced by Fei et al. [155]. Their method, based on curve fitting, has been explained using the example of a rule‐based mobile robot control. Gilmore et al. [156] have presented a rule‐based algorithm to automatically predict the dynamic behaviour of feeders and manipulator pushing operations. Bonner et al. [157, 158, 159] have used a hierarchy of rules, based on the concept of a free space cell, to find heuristically 36
satisfying collision‐free paths in a structured environment for a robot. They have shown their results for single robot. 2.7 Potential Field Navigation Technique
2.7.1 Introduction
The potential field technique is widely used for autonomous mobile robot path planning due to its elegant mathematical analysis and simplicity. Potential Field Method (PFM) is rapidly gaining popularity in navigation and obstacle avoidance applications for mobile robots because of its elegance. A robot moving in accordance with Newton’s laws in a potential field will never hit the obstacle. The potential field approach uses a scalar function called the potential function. It has a minimum value, when the robot is at the goal configuration and has a high value on obstacles. Anywhere else, the function slopes down towards the goal configuration, so that the robot can reach the target by following the negative gradient of the potential field. The high value of the potential field prevents the robot going near the obstacles. 2.7.2 Potential Field Technique for Mobile Robot Navigation
Potential field methods, introduced by Khatib [162], are widely used for real time collision free path planning. In this technique the robot gets stuck at local minima before attaining the goal configuration. Borenstein et al. [163] and Koren et al. [164] have developed a real‐time obstacle avoidance approach for mobile robots. The navigation algorithm takes into account of dynamic behaviour of a mobile robot and solves the local minimum trap problem. The repulsive force is much larger than the attractive force being considered by them. In other words, the target position is not a global minimum of the total potential field. Therefore the robot cannot reach its goal due to the obstacle nearby. 37
Garibotto et al. [165] have proposed a potential field approach for local path planning of a mobile robot in telerobotics context, i.e. with the presence of a human operator in the control loop at a supervisory level. Kim et al. [166] have developed a new function in artificial potential field by using harmonic functions that eliminate local minima for obstacle avoidance problem of a mobile robot in a known environment. Rimon et al. [167] and Koditschek [168] have presented a new methodology for exact robot motion planning and control unifying kinematic path planning problem and the lower level feedback controller design. They validate their results in simulation mode. Guldner et al. [169,170] have discussed a suitable control for tracking the gradient of an artificial potential field. However such functions are usually plagued by local minima. Al‐Sultan et al. [171] have introduced a new potential function for path planning that has the remarkable feature of no local minima. Yun et al. [172] have analysed a wall following action using potential field based on motion planning method. The new algorithm switches to a wall following control mode when the robot falls into local minima. They implemented the new algorithm on a Nomad 200 mobile robot. They have demonstrated simulation and experimental results to validate the usefulness of their method. Chuang et al. [173] have presented analytical tractable potential field model of free space. They have used Newtonian potential function for collision avoidance between object and obstacle. Sekhawat et al. [174] and Canny et al. [175] have developed a technique based on holonomic potential field taking into account the nonholonomic constraints of the system. Liu et al. [176] have presented a navigation algorithm, which integrates virtual obstacle concept with a potential‐field‐based method to maneuver cylindrical mobile robots in unknown environments. Their study focuses on the real‐time feature of the 38
navigation algorithm for fast moving mobile robots. They mainly consider the potential‐field method in conjunction with virtual obstacle concept as the basis of their navigation algorithm. They have presented their results in simulation and experiment modes. Wang et al. [177] have presented a new artificial potential field method for path planning of non‐spherical single‐body robot. The optimal path problem is calculated as per the heat flow with minimal thermal resistance. Ren et al. [178] have investigated the inherent oscillation problem of potential field methods (PFMs) in the presence of obstacles and in narrow passages. These situations can cause slow progress and system instability in implementation. To overcome these two problems, they have proposed a modification of Newton’s method. The use of the modified Newton’s method greatly improves system performance when compared to the standard gradient descent approach. They have validated their technique by comparing the performance with the gradient descent method in obstacle‐avoidance tasks. Xi‐yong et al. [179] have presented a robot navigation algorithm with global path generation capability. Their algorithm prevents the robot from running into local minima. Simulation results show that the algorithm proposed by the author is very effective in complex obstacle environments. Chengqing et al. [180] have presented a navigation algorithm, which integrates virtual obstacle concept with a potential‐field‐based method to maneuver cylindrical mobile robots in unknown or unstructured environments. Simulation and experiments of their algorithm shows good performance and ability to overcome the local minimum problem associated with potential field methods. Reid [181] has described an algorithm for the optical computation of potential field maps suitable for mobile robot navigation. 39
Im et al. [184] have proposed a local navigation algorithm for mobile robots that combines rule‐based and neural network approaches. First, the Extended Virtual Force Field (EVFF), an extension of the conventional Virtual Force Field (VFF), implements a rule base under the potential field concept. Second, the neural network performs fusion of the three primitive behaviours generated by EVFF. Finally, evolutionary programming is used to optimise the weights of the neural network with an arbitrary form of objective function. Furthermore, a multi network version of the fusion neural network has been proposed that lends itself to not only an efficient architecture but also a greatly enhanced generalization capability. The global path environment has been classified into a number of basic local path environments to which each module has been optimised with higher resolution and better generalization. These techniques have been verified through computer simulation under a collection of complex and varying environments. Tsourveloudis et al. [185] have used an electrostatic potential field (EPF) path planner, which combined with a two‐layered fuzzy logic inference engine and implemented for real‐time mobile robot navigation in a 2‐D dynamic environment. The first layer of their fuzzy logic inference engine performs sensor fusion from sensor readings into a fuzzy variable, collision, providing information about possible collisions in four directions, front, back, left, and right. The second layer guarantees collision avoidance with dynamic obstacles while following the trajectory generated by the electrostatic potential field. They have tested their proposed approach experimentally using the Nomad 200 mobile robot. The potential fields approach have been used by Cosio et al. [186] which allow for avoidance of large or closely spaced obstacles, through the use of auxiliary attraction points with adjustable force strength and distance to the goal. A genetic algorithm has been used for optimisation of the force intensity parameters of the repulsion and attraction cells, as well as the 40
position parameter of the auxiliary attraction points. Their scheme reported constitutes an effective strategy for autonomous robot navigation. McFetridge et al. [187] have presented a methodology for robot navigation and obstacle avoidance. Their approach is based on the artificial potential field (APF) method, which is used for obstacle avoidance with fuzzy logic technique. They have presented simulation results demonstrating the ability of their developed algorithm to perform successfully in simple environments. Vadakkepat et al. [188] have proposed Evolutionary Artificial Potential Field (EAPF) for real‐time robot path planning. The artificial potential field method is combined with genetic algorithms, to derive optimal potential field functions. Their proposed Evolutionary Artificial Potential Field approach is capable of navigating robot situated among moving obstacles. Fitness functions like, goal‐factor, obstacle‐factor, smoothness‐factor and minimum‐path length‐
factor are developed for the Multi‐Objective Evolutionary Algorithm (MOEA) selection criteria. Simulation results showed that their proposed methodology is efficient and robust for robot path planning with non‐stationary goals and obstacles. Ratering et al. [189] have proposed hybrid potential field method to navigate a robot in which the environment is known. They have tested their techniques in real as well as simulated mode. Zhuang et al. [190] have applied temporal difference (TD) learning with fuzzy state in robot navigation in multi‐
obstacle environment. The APF obtained is globally optimal and avoids the local minimum areas, which always appear in traditional APF methods. Fuzzy state is introduced to improve the learning efficiency. They have shown the effectiveness of their method by computer simulation. 41
2.8 Simulated Annealing Technique
2.8.1 Introduction
Simulated annealing technique has attracted significant researchers as this is suitable for optimisation problems of large scale, especially ones where a desired global minimum is hidden among many local minima. This annealing process is a random‐search technique, which exploits an analogy between the way in which a metal cools and freezes into a minimum energy crystalline structure. Simulated annealing forms the basis of an optimisation technique for combinatorial and other problems. It has been proved that by carefully controlling the rate of cooling of the temperature, simulated annealing can find the global optimum. 2.8.2 Simulated Annealing Technique
The avoidance of local minimum has been an active research topic in potential field path planning. One of the powerful techniques for escaping local minima is simulated annealing. Kirkpatrick et al. [191] first proposed the optimisation by simulated annealing for sub atomic behaviours in statistical mechanics. Carriker et al. [192] have used simulated annealing to solve the mobile manipulator path‐planning problem. They have compared their results with the results obtained by conventional nonlinear programming technique. Janabi‐Sharifi et al. [193, 194] have first used simulated annealing technique to escape from local minimum of a potential field function. Park et al. [195, 196, 197] have presented the mobile robot path planning technique that integrates the artificial potential field approach with simulated annealing. Lee et al. [198, 199] have presented potential‐field based path planning for point or higher dimensional objects, which avoids effectively any local extreme problems. They used a fast‐simulated annealing approach for local minima problems, which arise 42
from the potential field. Betke et al. [200] have used fast simulated annealing for automatic object recognition. Their algorithm is applied to the problem of navigation of robot and works well in noisy images with high information content. Hong et al. [201] have proposed a simulated‐annealing method for the generation of robotic assembly. They have presented the effectiveness of their proposed method on electric relay case study. Martinez‐Alfaro et al. [202] have described the development and implementation of an automatic controller for path planning and navigation of an autonomous mobile robot using simulated annealing and fuzzy logic. The simulated annealing algorithm used by them is to obtain a collision‐free optimal trajectory among fixed polygonal obstacles. The trajectory tracking is performed with a fuzzy logic algorithm. They have shown their results in simulation and experimental modes on a Nomadic 200 mobile robot. Lucidarme et al. [203] have presented a method based on simulated annealing to learn reactive behaviours. Their work was related to multi‐agent systems. They have shown their technique for completing complex cooperative tasks with simple reactive mobile robots. Barral et al. [204] have presented an evolutionary simulated annealing algorithm for optimising mechanical assembly, electronic component insertion, and spot welding. Kwok et al. [205] have describes the use of Genetic Algorithm and Simulated Annealing for optimising the parameters of PID controllers for 6‐DOF robot arm. They have carried out simulation on a PUMA 560. 2.9 Sensors for Mobile Robots
Different types of sensors have been used for mobile robot navigation. They can be classified into three categories: (i) Ultrasonic Sensors, (ii) Infrared Sensors, and (iii) Other types of Sensors. 43
2.9.1 Ultrasonic Sensors for Robot Navigation
Ultrasonic sensors’ signals can be induced through the piezoelectric effect or through electro static forces. Most sensors used in robotics are electrostatic since this mechanism is more efficient for coupling into air. Polaroid manufactures the most common type of robotic ultrasonic transducers. It can be used to measure distances from about 0.25 m to 10 m through direct time‐of‐flight measurement. A firing pulse triggers an ultrasonic burst from the sensor and starts a counter. The counter is stopped when the sensor, now acting as a receiver, detects a signal above a pre‐set threshold. The counter reading thus gives the time of flight. The research of Skewis et al. [206, 207, 208] have involved ultrasonic sensor‐based motion planning for a single robot. They have used information from assumed sensor media as input to the motion‐planning algorithm. A method for estimating the position and heading angle of a mobile robot moving on a flat surface has been proposed by Boem et al. [209]. Their localisation method utilises two passive beacons and a single rotating ultrasonic sensor. The passive beacons consist of two cylinders with different diameters and reflect the ultrasonic pulses from the sonar sensor mounted on the mobile robot. Their algorithm is suitable for processing sonar scan data obtained by an ultrasonic sensor with a wide beam spread. The proposed system has been implemented for a single robot in a very simple environment. Kleeman et al. [210] have established that two transmitters and two receivers are necessary and sufficient for a mobile robot to distinguish between planes, corners and edges. They have used a sonar sensor array with a minimum number of transmitters and receivers for their mobile robot. With their method, it is very difficult to navigate a single mobile robot in an unknown environment. 44
Ko et al. [211] have described a method to extract acoustic landmarks for the indoor navigation of a single mobile robot using an array of ultrasonic sensors. They have modelled the environment with specular vertical walls. Due to the constancy of the relative positions between the ultrasonic sensors, the echo pulses from a reflection point (RP) determine the position of the RP. The direction to a RP is estimated from the orientation of the ultrasonic sensor at which the maximum echo level has been obtained. The mean time‐of‐flight of the echo pulses provides the distance to the RP. Mallita et al. [212] have discussed an ultrasonic imaging system for a mobile robot. Their transmitters cover a wide area and from the time‐of‐flight and the angle of incidence of echo pulses, their algorithm is able to detect obstacles ahead of the mobile robot. They have not implemented their method for multiple mobile robots. Hong et al. [213] have discussed the sensing of room boundaries for a mobile robot using an ultrasonic sensor array. They have implemented their algorithm with an extended Kalman Filter. Again, their technique was meant for a single mobile robot in a simple environment. Budenske et al. [214] have discussed the navigation of a robot with the help of sensory data. They have shown that their approach can be applied to guide a robot to and through an unknown and narrow doorway. Sonic range data is used to find the doorways, walls, and obstacles. They have implemented their method for a single mobile robot for obstacle avoidance only. Takamura et al. [215, 216, 217] have proposed a method to acquire a statistical map representation for direct use in a navigation task. Their robot is equipped with a ring of ultrasonic sensors, whose data are employed to give a graphical representation of the environment. They have demonstrated their method by computer simulation. 45
Their method is not meant for multiple mobile robots or for achieving a goal seeking behaviour. 2.9.2 Infrared Sensors for Robot Navigation
Ultrasonic sensors are safe, easily available and have low cost, but sometimes the data are difficult to interpret. Infrared sensors are also safe and inexpensive in addition to being easier to use. They are suitable for moderate ranges, where transmitters of up to tens of mill watts can be employed. Infrared sensors are appropriate for applications not demanding high measurement accuracies. Everett and Flynn [218] have described a programmable near‐infra‐red amplitude detection sensor for navigation in an unstructured environment. The sensor consists of four light emitting diodes (LEDs). Between one and four light emitting diodes could be fired, depending on the range expected, and the number of diodes fired before a signal is detected gives a very crude estimate of range which has proved inadequate for robot navigation. Yu et al. [219] have discussed the navigation of a mobile robot using an infrared sensor to avoid collision with obstacles. They have shown simulation results for a single mobile robot avoiding simple obstacles. Their method is not efficient enough to be applied to a multiple robot scenario. Kube et al. [220] have also used infrared sensors for obstacle avoidance. During navigation, their robotʹs infrared sensors can detect obstacles within a range of 1.5 m. They have done all their analysis taking single mobile robots into consideration. Lumelsky et al. [221, 222] have presented an approach for decentralised motion planning for a mobile robot operating with unknown stationary obstacles. Their robot has no knowledge about the environment or the paths and objectives of other robots. The robot plans its path towards its target 46
dynamically, based on the current position and sensory feedback, which is provided by an infrared sensor. They have not reported on the scenario where several mobile robots are navigating in an environment. Vandorpe et al. [223, 224] have designed an autonomous mobile robot using an infrared sensor for avoiding obstacles. Their infrared imaging sensor gives a complete panoramic image of the environment but has not been applied to the navigation of multiple mobile robots. 2.9.3 Other Sensors Used in Navigation
Borenstein et al. [225] have discussed the navigation of a single mobile robot with various sensory techniques. They have shown that the magnetic compass is a very good sensor for determining the location and heading angle (x, y, and θ) for a mobile robot. They have outlined different magnetic sensors, including i) Mechanical Magnetic Compass, ii) Fluxgate Compass, iii) Hall‐Effect Compass. iv) Magneto‐Resistive Compass, and v) Magneto‐Elastic Compass. According to them, the Fluxgate Compass is the best for use in mobile robot navigation. However, the sensor is not appropriate for obstacle distance measurement. Yagi et al. [226, 227, 228] have designed an omni‐directional image sensor COPIS for a mobile robot. Their robot is able to navigate by detecting the azimuth of each object in the omni‐directional image. By matching the azimuth with the environmental map, the robot can estimate its own location and motion. However, it would be difficult to handle multiple mobile robots in an unknown environment as well as measuring obstacle distances with this method. Gonzalez et al. [229] have presented an algorithm for efficiently estimating the position of a mobile robot based on a radially‐scanning laser range finder. The algorithm employs a connected set of short line segments to approximate the shape of any environment, which can be easily constructed by the range finder itself. Their 47
method is suitable for a single mobile robot navigating in an unknown environment. 2.10 Summary
This chapter has reviewed robot navigation techniques, focusing on those utilising fuzzy logic, neural network, rule‐based, potential field and simulated annealing. It has been found that most of the techniques have been implemented only in simulation and that none of the techniques encountered are appropriate or intended for controlling the navigation of multiple mobile robots. 48
3 Kinematic Analysis of Mobile Robots
In this chapter, the kinematic analysis of a wheeled mobile robot is carried out in which robots ride on a system of wheels and axles. With the help of the velocities of right and left wheel, the steering angle is calculated to avoid obstacles near or around the robot. 3.1 Introduction
A three wheeled mobile robot is modelled in this work as a planar rigid body with two driving wheels, arranged parallel to each other and ‘B’ distances apart, which are driven separately by two independent motors, and one castor is provided for stability of the robot. The front wheel is a castor wheel. The relations between the rigid body motion of the robot, the angular velocity and driving controls of the wheels are developed. The developed relations guarantee that the motion of robot is stable. 3.2 Configuration of Mobile Robot
The mobile robot system in this study consists of two subsystems. They are driving subsystem and sensing subsystem. Two driving configurations are used in today’s mobile robot, steer drive and differential drive. The former uses two driving wheels to make the vehicle move forward and backward, and another separate steering mechanism to control its heading angle. Since the driving action is independent of the steering action, the motion control of the vehicle is somewhat easy. However due to physical constraints, this configuration cannot make turning in a very small radius, which need more floor space for vehicle turning. 49
The differential drive on the other hand has two independent drive wheels arranged parallel to each other. Their speed can be controlled separately. Thus the mechanism is able to not only drive the vehicle forward and backward, but also steer its heading angle by differentiating their speed. Even though this configuration requires a somewhat more complex control strategy than the steer drive configuration, its capability of making a small radius turning, even making a turning on the spot makes it the first choice in most investigations. In this research a differential drive configuration is used as shown in Figure 3.1. Figure 3.1. A three wheeled mobile robot. V ω ωr
ωl
Figure 3.2. Wheeled mobile robot with left and right angular velocities. 50
2r ωr
Vr = r ωr Ar
Figure 3.3. Wheeled mobile robot with no slip condition. 3.3 Kinematic Model Assumption considered for analysing path constrained of a wheeled mobile robot •
There are no flexible parts in the wheeled mobile robot. •
There is no transitional slip between the wheels and the surface. •
There is enough rotational friction between the wheels and the surface; so, the wheels can rotate without disturbance. The two driving wheels are identical. Front – rear axis •
Front Wheel of robot Left‐right axis Right Wheel of robot Left Wheel of robot Robot
Figure 3.4. A Robot. 51
The relationship between the left driving wheel, right driving wheel velocities and the translation and angular velocities of the wheeled mobile robot is as follows: V = Vl + Vr
2
ω = ( Vl ‐ Vr ) B
(3.1) (3.2) The kinematics of the differential drive mobile base is derived under the assumption that there is no slip at any time between the drive wheels and the ground. The relationship between the ω r and Vr ( ω l and Vl) is found with reference to the situation shown in Figure 3.3 under no slip condition i.e., there is no movement between point Ar and the ground. Therefore, point a can be thought of as fixed, reference point. With respect to this reference point, the wheel axle should move forward with linear velocity Vr = r ωr . Front Y Vc Vl C r Vr X d ωl
ϕ
M
ωr
H B P
Rear
Figure 3.5. Kinematic parameters of the wheeled mobile robots. 52
From Figure 3.4., the velocity of the centroid C of the wheeled mobile robot may be written using the motion of the rigid body as follows: Vc = ω × PC (3.3) ˆ as unit vectors of the coordinate frame fixed at C along X, Y, and Z ˆ
Let ˆi, j and k
axis respectively (Z – axis is out of the thesis as shown in Figure 3.4.) Equation (3.2) can be expressed as: ω = ( ωl ‐ ωr ) i r i kˆ B
(3.4) The vector PC can be obtained from the instantaneous center to the centroid of wheeled mobile robot as follows: B
ˆ
ˆ PC = ⎛⎜ + H ⎞⎟ i i + d j
⎝2
⎠
Where H = (3.5) Vr
ωr
i B = i B Vl ‐ Vr
ω l ‐ ω r
Substituting equations (3.4) and (3.5) into equation (3.3), the cross product of equation (3.3) is written as: Vc = ( ωr ‐ ωl ) i r i d i + ˆ ( ω l + ω r ) i r jˆ B
2
(3.6) Let Vx be the component of Vc along î and Vy be the component of Vc along ĵ in equation (3.6), and using equation (3.4), Vx and Vy can be written as: Vx = ( ω r ‐ ωl ) i r i d (3.7) Vy = ( ωl + ωr ) i r (3.8) (3.9) ω = B
2
( ω l ‐ ωr ) i r B
53
B Vr Vl H Vr Vl P H B Figure 3.6. Calculation of angular velocity. For rolling without skidding or sliding the angular velocity of both the wheel should be same. ω l = ω r Vl
Vr
= H
H + B
H = B Vl
Vr ‐ Vl
ω = ω l = ω r = ( V ‐ Vl )
Vl
V
= r = r
H
H+B
B
(3.10) (3.11)
The angular velocity can be calculated by using equation 3.11 by multiplying the time factor. 54
4 Fuzzy Logic Technique
4.1 Introduction
Navigation of multiple mobile robots in presence of static and moving obstacles using different types of Fuzzy Logic Controller (FLC) is discussed in this chapter. This task could be carried out specifying a set of fuzzy rules taking into account the different situations found by the mobile robots. The approach is to extract a set of fuzzy rule set from a set of trajectories provided by human. For this purposes the input to all the FLC are left obstacle distance, right obstacle distance, front obstacle distance and target angle considered. The outputs from the FLC are both left and right wheel velocities. The fuzzy rules help the robots to avoid obstacles and find the targets. Part of contents of this chapter has been published in •
“Neuro‐Fuzzy Technique for Navigation of Multiple Mobile Robots”, Fuzzy Optimization and Decision Making, (2006), Vol. – 5, pages 255 – 288. •
“Fuzzy Control Technique for of Multiple Mobile Robots’ Navigation”, AMS‐03, Jadavpur University, Kolkata, 28‐29 March, 2003, Pages: 415‐420. •
“Fuzzy Controllers for Navigation of Multiple Mobile Robots”, NCME‐03, TITE, Patiala, November, 2003, Pages: 498‐504. 55
4.2 Control Architecture
4.2.1 Analysis of Obstacle Avoidance and Target Seeking Behaviour
The robots used here are rear wheel drive having two rear wheels, namely left and right rear wheel. The mobile robot considered in this work is a point robot for simulation mode. Its dimension is 1 X 1 pixel2. Each robot has an array of sensors for measuring the distances around it and locating the target i.e., front obstacle distance (FD), left obstacle distance (LD), right obstacle distance (RD) and detecting the bearing of target (HA). The distance between the robots and obstacles act as repulsive forces for avoiding the obstacles, and the bearing of the target acts as an attractive force between robots and target. In this research three types of membership functions are considered. First one is of three‐membership function having two trapezoidal members and one triangular member. Linguistic variables such as “far”, “medium” and “near” are taken for three‐membership function. Five membership function is considered with all are of triangular member. Here linguistic variables like “very near”, “near”, “medium”, “far” and “very far” are considered. Finally Gaussian membership function is considered with “very near”, “near”, “medium”, “far” and “very far” as linguistic variables for navigation of multiple mobile robots. Some of the fuzzy control rules are activated according to the information acquired by the robots using their sensors. The outputs of the activated rules are weighted by fuzzy reasoning and then the velocities of the front driving wheels of the robots are calculated. . Left wheel velocity and right wheel velocity are denoted as leftvelo (LV) and rightvelo (RV) respectively. Similarly leftdist, rightdist, and frontdist are defined for the distances left obstacle distance (LD), right obstacle distance (RD) and front obstacle distance (FD) respectively. 56
Linguistic variables such as “pos” (positive) “zero” and “neg” (negative) are defined for the bearing of heading angle (HA) with respect to target. The term “notargetconsider” is used if there is no target in the environment. Linguistic variables like “fast”; “medium” and “slow” are defined for left wheel velocity and right wheel velocity for three‐membership function. Terms like “very slow”, “slow”, “medium”, “fast”, and “very fast” are considered for left wheel velocity and right wheel velocity for five‐membership functions. Similarly linguistic variables such as “more pos” (more positive),“pos” (positive) “zero”, “neg” (negative) and “more neg” (more negative) are defined for the bearing of heading angle (HA) with respect to target. The parameters defining the functions are listed in table 4.1. The membership functions described above are shown in Figure 4.1. 57
(a) Parameters for Left, Right and Front Obstacle Variables Left Obstacles Distances Right Obstacles Distances and Front Obstacles Distances (b)
Near (Meter) Medium (Meter) Far (Meter) Very Far (Meter) 0.0 1.0 2.0 3.0 4.0 1.0 2.0 3.0 4.0 5.0 2.0 3.0 4.0 5.0 6.0 Parameters for Heading Angle Variables Heading Angle (c)
Very Near (Meter) More Negative (Degree) Negative (Degree) Zero (Degree) Positive (Degree) More Positive (Degree) ‐180 ‐120 ‐20 0 20 ‐120 ‐20 0 20 120 ‐20 0 20 120 180 Parameters for Left and Right Velocity Variables Very Slow Slow Medium Fast Very Fast (Meter/sec) (Meter/sec) (Meter/sec) (Meter/sec) (Meter/sec) Left 0.0 0.5 1.0 Wheel Velocity 0.5 1.0 1.5 and Right Wheel 1.0 1.5 2.0 Velocity Table 4.1. Parameters of fuzzy membership functions. 58
1.5 2.0 2.0 2.5 2.5 3.0 F. O. D. R. O. D. Fuzzy Controller L. O. D. Heading Angle
Right Wheel Velocity Left Wheel Velocity Three‐Membership Fuzzy Controller for Mobile Robot Navigation
F. O. D. R. O. D. Fuzzy Controller L. O. D. Right Wheel Velocity Left Wheel Velocity Heading Angle Five‐Membership Fuzzy Controller for Mobile Robot Navigation F. O. D. R. O. D. Fuzzy Controller L. O. D. Heading Angle Heading Angle
Right Wheel Velocity Left Wheel Velocity Gaussian Fuzzy Controller for Mobile Robot Navigation F. O. D. = Front Obstacle Distance, L. O. D. = Left Obstacle Distance and R. O. D. = Right Obstacle Distance Figure 4.1. Fuzzy Controllers for Mobile Robot Navigation. 59
Very Very Medium Far Far Near Near Very Very Medium Far Near Near
Far 0.0 1.0 2.0 3.0 4.0 5.0 6.0
0.0 1.0 2.0 3.0 4.0 5.0 6.0
Left Obstacle Distance
Right Obstacle Distance Very Very Medium Far Far Near Near More More Negative Zero Negative Positive Positive 0.0 1.0 2.0 3.0 4.0 5.0 6.0
‐180 ‐120 -20 0.0 20 120 180
Front Obstacle Distance
Target Angle Very Very Medium Slow Slow Fast Fast Very Very Medium Slow Slow Fast Fast 0.0 0.5 1.0 1.5 2.0 2.5 3.0
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Left Wheel Velocity Right Wheel Velocity Figure 4.2. Fuzzy membership functions. 60
4.2.2 Fuzzy Mechanism for Mobile Robot Navigation
Based on the subsets the fuzzy control rules are defined as follows: If (LD is LDi Λ FD is FDj Λ RD is RDk Λ HA is HAl) (4.1) Then LV is LVijkl and RV is RVijkl Where i = 1 to 3, j = 1 to 3, k = 1 to 3 and l = 1 to 3 because LD, FD, RD and HA have three membership functions each. And for five membership function i = 1 to 5, j = 1 to 5, k = 1 to 5 and l = 1 to 5 From equation (4.1) two rules can be written: If (LD is LDi and FD is FDj and RD is RDk and HA is HAl) Then LV= LVijkl And (4.2)
If (LD is LDi and FD is FDj and RD is RDk and HA is HAl) Then RV = RVijkl A factor Wijkl is defined for the rules as follows: (
)
Wijkl = µLDi ( dis i ) Λ µFD j dis j Λ µRDk ( dis k ) Λ µHAl (ang l ) (4.3) Where disi, disj, and disk are the measured distances, and angl is the value of the heading angle. The membership values of the left wheel and right wheel velocities velLV and velRV are given by: µLV′ ( vel ) = Wijkl Λ µLV
ijkl
ijkl
( vel LV ) ∀vel ∈ LV µRV′ ijkl ( vel ) = Wijkl Λ µRVijkl ( velRV )
∀vel ∈ RV 61
(4.4)
The overall conclusion by combining the outputs of all the fuzzy rules can be written as follows: µLV ( vel ) = µ LV′ ( vel LV ) ∨ ... ∨ µLV′ 1111
µRV ( vel ) = µRV′ 1111
ijkl
( vel LV ) ∨ ... ∨ µLV′ ( velLV ) 3333
(4.5)
( vel RV ) ∨ ... ∨ µRV′ ( vel RV ) ∨ ... ∨ µRV′ ( vel RV ) 3333
ijkl
Equation (4.5) is for three membership functions. For five‐membership function the fuzzy rules are written as: µLV ( vel ) = µLV′ ( vel LV ) ∨ ... ∨ µLV′
1111
µRV ( vel ) = µRV′
1111
ijkl
( velLV ) ∨ ... ∨ µLV′ ( vel LV ) 5555
(4.6)
( velRV ) ∨ ... ∨ µRV′ ( velRV ) ∨ ... ∨ µRV′ ( velRV ) 5555
ijkl
The crisp values of Left Wheel Velocity and Right Wheel Velocity are computed using center of gravity method is: Left Wheel Velocity = LV =
∫ vel ⋅µ ( vel ) ⋅ d ( vel ) ∫ µ ( vel ) ⋅ d ( vel )
LV
LV
Right Wheel Velocity = RV =
(4.7)
∫ vel ⋅µ ( vel ) ⋅ d ( vel ) ∫ µ ( vel ) ⋅ d ( vel )
RV
RV
4.2.3
Obstacle Avoidance
The attractive force between the robot and the target causes the robot seeking towards the target when the robot is very close to the target. Similarly when the robot is very close to an obstacle, because of repulsive force developed between the robot and the obstacle, the robot must change its speed and heading angle to avoid the obstacle. Some of the fuzzy rules used for obstacle avoidance by robots 62
are listed in Table 4.2 to Table 4.5. All the rules in those tables have been obtained heuristically using common sense. Some rules mentioned in Table 4.2 cater for extreme conditions when the obstacles have to be avoided as quickly as possible. This is for three‐membership function. Rule 06 mentioned in the Table 4.2 describes if the left obstacle distance is “near”, right obstacle distance is “far”, front obstacle distance is “medium” and no unobstructed target is around the robot, then the robot should turn to right side as soon as possible to avoid collision with the left obstacle. For the above condition the left wheel velocity should increase fast and right wheel velocity should decrease slowly. Similarly some rules mentioned in Table 4.3 are used for extreme conditions when the obstacles have to be avoided as soon as possible. These rules are for five‐membership function. For example in rule 12, the left obstacle distance is “ very far”, right obstacle distance is “near”, front obstacle distance is “ very near” and no target is located around the robot, then the robot should turn to left side to avoid collision with the obstacle in front and towards right of it. For the above condition the right wheel velocity should increase very fast and left wheel velocity should decrease very slowly. 4.2.4 Control Steering Action for Target
The objective of the robots is to reach the target efficiently. If any one of the robot senses a target, it will decide whether it can reach the target or there is any obstacle that will obstruct the path. If there is no obstacle on the path leading to the target, the robot will find its desired path and proceed towards it. Fuzzy rules 21 to 26 are for three‐membership function (Table 4.4) for target finding. Table 63
4.4 describes rules for five‐membership function to locate the target. Here also the fuzzy rules are obtained heuristically. Rule number 22 states that if the left obstacle distance is “near”, front obstacle distance is “medium” and right obstacle distance is “far” and the robot detects a target located on the right side (positive), then the robot should turn right as soon as possible. To do this, the left wheel velocity of the robot should increase fast and the right wheel velocity should decrease slowly. The velocities are found from the fuzzy rules described in the table given below. Fuzzy Rule No. 01 02 03 04 05 06 07 08 09 10 Action OA OA OA OA OA OA OA OA OA OA left dist front dist Near Near Near Near Near Near Near Near Near Med Near Near Near Med Med Med Far Far Far Near right dist Near Med Far Near Med Far Near Med Far Near heading angle left velo NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered Slow Med Fast Slow Fast Fast Slow Fast Fast Med Table 4.2. Obstacle avoidance for three‐membership function. 64
right velo Slow Slow Slow Slow Med Slow Slow Med Slow Fast Fuzzy Rule No. 11 12 13 14 15 16 17 18 19 20 Action left front
dist dist OA OA OA OA OA OA OA OA OA OA VN VF VN VN VN VN VN VN VN VN VN VN VN VN VN Near Near Near Near Near right dist VN Near Med Far VF VN Near Med Far Very Far heading angle NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered NoTargetConsidered left velo right velo VS VS Fast Fast VF Slow Slow Fast Fast VF VS VF VS Slow VS Slow VS Slow Slow VS Table 4.3. Obstacle avoidance for five‐membership function. Fuzzy Rule No. 21 22 23 24 25 26 Action TS TS TS TS TS TS left dist Near Near Near Far Far Far front dist Far Med Med Near Med Far rightdist Med Far Near Med Near Far heading angle Positive Positive Negative Negative Positive Negative leftvelo Fast Fast Slow Slow Fast Slow right velo Slow Slow Fast Fast Slow Fast Table 4.4. Target seeking for three‐membership function. Fuzzy Rule No. 27 28 29 30 31 32 Action TS TS TS TS TS TS left dist VN VN Near Med Far Far front dist Far Med Far Far Med Very Far rightdist Near VF Far Near Near Near heading angle Positive Positive Positive Negative Negative Negative Table 4.5. Target seeking for five‐membership function. 65
leftvelo Slow VF Fast Slow Med Med right velo VS VS Slow Med Fast VF Note: OA = Obstacle Avoidance, Med = Medium, frontdist = Front Obstacle Distance, rightdist = Right Obstacle Distance, leftdist = Left Obstacle Distance, leftvelo = Left Wheel Velocity, rightvelo = Right Wheel Velocity, TS = Target Seeking, Positive = Right Turn, Negative = Left Turn, VF = Very Fast, VN = Very Near and VS = Very Slow. 1 0.9 Very Very Near
Medium Near Far Far Very Very Near Near Medium Far Far 0.6
0.4
.15 2.0 3.0 4.0 5.0 6.0
Left Obstacle Distance
1
0.8
0.0 1.0 2.0 3.0 4.0 5.0
Front Obstacle Distance
Very Near Near Medium Far Very Far 0.2
0.0 1.0 2.0 3.0 4.0 5.0 6.0
Right Obstacle Distance Figure 4.3. Left, Front and Right Obstacles Distances. In Figure 4.3 the robot detect left, front and right obstacle distances are 1.2, 2.4 and 4.6 respectively. There is no target present in the environment. Therefore, heading angle is taken as zero for all the rules. With the above‐mentioned obstacles, there will be 2 X 2 X 2 = 8 fuzzy rules (Figure 4.3) activated to control the left wheel velocity and right wheel velocity of the robot. For this environment the fuzzy rules, which are applicable, are given below. The resultant right wheel and left wheel velocity are shown in Figure 4.4. 66
First Combination Left Obstacle : Very Near, Front Obstacle: Near and Right Obstacle: very Far Then according to fuzzy rule Left wheel velocity: Very Fast and Right wheel Velocity: Very Slow Second Combination Left Obstacle : Very Near, Front Obstacle: Near and Right Obstacle: Far Then according to fuzzy rule Left wheel velocity: Fast and Third Combination Left Obstacle : Very Near, Front Obstacle: Medium and Right Obstacle: Very Far Then according to fuzzy rule Left wheel velocity: Very Fast and Right wheel Velocity: Slow Right wheel Velocity: Very Slow Fourth Combination Left Obstacle : Very Near, Front Obstacle: Medium and Right Obstacle: Far Then according to fuzzy rule Left wheel velocity: Fast and Fifth Combination Left Obstacle : Near, Front Obstacle: Near and Right Obstacle: Very Far Then according to fuzzy rule Left wheel velocity: Medium and Sixth Combination Left Obstacle : Near, Front Obstacle: Near and Right Obstacle: Far Then according to fuzzy rule Left wheel velocity: Slow and Right wheel Velocity: Very Slow Seventh Combination Left Obstacle : Near, Front Obstacle: Medium and Left wheel velocity: Very fast Then according to fuzzy rule Right Obstacle: Very Far and Right wheel Velocity: Medium Right wheel Velocity: Very Slow Right wheel Velocity: Very Slow Eighth Combination Left Obstacle : Near, Front Obstacle: Medium and Right Obstacle: Far Then according to fuzzy rule Left wheel velocity: Fast and Right wheel Velocity: slow 67
1
Very Very Medium Slow Slow Fast Fast 1
0.6
0.6
Very
Very Slow
Medium Fast Fast Slow
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Right Wheel Velocity 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Left Wheel Velocity “First combination of fuzzy rule is activated”
1
Very Very Slow Slow Medium Fast Fast 1
Very Very Medium Fast Fast Slow Slow 0.2
0.2
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Left Wheel Velocity
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Right Wheel Velocity “Second combination of fuzzy rule is activated” 1
Very Very Slow Slow Medium Fast Fast 1
0.4
Very Very Slow Slow Medium Fast Fast 0.4
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Left Wheel Velocity
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Right Wheel Velocity “Third combination of fuzzy rule is activated” 1 Very Very Medium Slow Slow Fast Fast 1
Very Very Medium Slow Slow Fast Fast 0.2
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Left Wheel Velocity
0.2
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Right Wheel Velocity “Fourth combination of fuzzy rule is activated” 68
1
Very Very Medium Slow Slow Fast Fast Very Very Medium Fast Fast Slow Slow 1
.15
.15
0.0 0.5 1.0 1.5 2.0 2.5 3.0
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Right Wheel Velocity Left Wheel Velocity
“Fifth combination of fuzzy rule is activated” 1 Very Very Medium Slow Slow Fast Fast 1
.15
.15
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Left Wheel Velocity
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Right Wheel Velocity “Sixth combination of fuzzy rule is activated” 1 Very Very Medium Fast Fast Slow Slow 1
.15
Very Very Medium Slow Slow Fast Fast .15
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Left Wheel Velocity
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Right Wheel Velocity “Seventh combination of fuzzy rule is activated” Very Very Medium Slow Slow Fast Fast Very Very Medium Slow Slow Fast Fast Very Medium Slow Slow Fast Very
1 .15
.15
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Left Wheel Velocity
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Right Wheel Velocity “Eighth combination of fuzzy rule is activated” 69
1
0.6
0.2
.15
Very Very Medium Fast Fast Slow Slow 1
0.6
0.2
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Resultant Left Wheel Velocity
Very Very Medium Slow Slow Fast Fast 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Resultant Right Wheel Velocity
Figure 4.4. Resultant Left and Right Wheel Velocity. 4.2.5 Petri Net Modelling to avoid Collision among the Robots
C. A. Petri [83] first developed a Petri Net model which is used in this thesis to avoid inter robot collision. Figure 4.5 shows the Petri Net model built into each robot to enable it to avoid collision with other robots. The model comprises six tasks. The details of the Prtri Net technique are given in appendix –B. It is assumed that, initially, the robots are in a highly cluttered environment, without any prior knowledge of one another or of the targets and obstacles. This means the robot is in state “Task 1” (“Wait for the start signal”). In Figure 4.5, the token is in place “Task 1”. Once the robots have received a command to start searching for the targets, they will try to locate targets while avoiding obstacles and one another. The robot is thus in state “task 2” (“Moving, avoiding obstacles and searching for targets”). During navigation, if the path of a robot is obstructed by another robot, a conflict situation is raised. (State “Task 3”, “Detecting Conflict”). Conflicting robots will negotiate with each other to decide which one has priority. The lower priority robot will be treated as a static obstacle and the higher priority robot as a proper mobile robot (state “Task 4”, “Negotiating”). As soon as the conflict 70
situation is resolved, the robots will look for other conflicts and if there is no other conflict they will execute their movements (state “Task 5”, “Checking for conflict and executing movements”). Task 1 Wait for the start signal Task 2 Moving, avoiding obstacles and searching for targets Task 3 Detecting Conflict Task 4 Negotiating Task 5 Checking for conflict and executing movements Task 6 Waiting Place Token Transition Arc Task 1 Task 6
Task 2
Task 3
Task 5 Task 4 Figure 4.5. Petri Net Model for avoiding inter‐robot collision. 71
4.3 Demonstrations
The proposed fuzzy logic technique has been implemented in simulations as well as in real mode with different environments. Simulations are conducted using the Window‐based simulation software package ‘ROBPATH’ (Appendix ‐ A) developed by the author for robot navigation. The environment generated artificially containing static obstacles as well as static targets. 4.3.1 Obstacle Avoidance and Target Seeking by Multiple Mobile Robots
This exercise involves forty‐five mobile robots initially assembled into three groups that are placed within an enclosure using five memberships Gaussian FLC. All the three targets are located in U shaped partitions as shown in Figure 4.6. Figure 4.7 shows an intermediate situation where Figure 4.8 depicts the final position, when all the robots have reached targets. Obstacles Fifteen Robots
Obstacles
Target Fifteen Robots
Obstacles
Fifteen Robots
Figure 4.6. Obstacle avoidance and target seeking by forty‐five mobile robots using five‐membership function (Initial position). 72
Figure 4.7. Obstacle avoidance and target seeking by forty‐five mobile robots using five membership function (Intermediate state). Figure 4.8. Obstacle avoidance and target seeking by forty‐five mobile robots using five membership function (Final state). 73
4.3.2 Collision Free Movements in a Cluttered Environment
This exercise demonstrates that, the robots do not collide with each other even in a highly cluttered environment. Figure 4.9 depicts the beginning of the exercise where as Figure 4.10 shows the trajectories of the robots for the fuzzy logic technique using five‐membership Gaussian function. It can be seen that the robots are able to resolve conflict and avoid one another and reach the target successfully. ‘a‐b‐c‐d‐e‐f‐g‐h’ is the path followed by robot‐1 to reach the target and ‘p‐q‐r‐s‐t‐u’ is the path for robot‐2. After getting the start command the robots start searching for target from point ‘a’ and ‘p’. It is clear from the Figure 4.10 that when the robots reach close to each other i.e., at point ‘b’ and ‘q’ they change their direction to avoid collision between them. Obstacles
Target
Obstacles
Obstacles
Robot 2
Robot 1 Target Obstacle Figure 4.9. Collision free movement using five‐membership FLC (Initial scenario). 74
c
a qb
p
g s h u t e
d
r
f Figure 4.10. Collision free movement using five membership FLC (Final state). 4.3.3 Obstacle Avoidance by a Large Number of Robots
Obstacle avoidance by one thousand mobile robots using Gausssian five‐
membership function is shown in Figures 4.11 and 4.12. Figure 4.11 depicts the starting of the exercise. Figure 4.12 shows the situation after few times the exercise has begun. It can be noted that the robots stay well away from the obstacles as well as from each other. 4.3.4 Escape from Dead Ends
Figures 4.13 and 4.14 show the ability of the robots to escape from the dead ends using Gausssian five membership FLC. Fifteen robots are involved in this exercise. Figure 4.13 depicts the situation at the beginning of the exercise. The U‐
shaped and rectangular obstacles are causing dead ends for the robots. All the robots were enclosed within a U‐shaped obstacle. Figure 4.14 shows all the robots efficiently negotiate the dead ends and reach their target successfully. 75
200 Robots 200 Robots
Obstacle
200 Robots Obstacles Obstacles
200 Robot
200 Robots
Figure 4.11. Navigation of large number of robots before starting the mission using five‐membership FLC (1000 robots). Figure 4.12. Navigation of large number of robots after some time from the starting of the mission using five membership FLC (1000 robots). 76
U‐Shape Obstacles 15 Robots
Target Rectangular Obstacle Figure 4.13. Environment for escaping from the dead ends before starting of the mission using five‐membership FLC. U‐Shape Obstacles
Figure 4.14. Recorded paths of fifteen robots in case of escaping from U‐shaped objects and getting the targets using five‐membership FLC. 77
4.4 Comparison between the Different Types of Fuzzy Controller
4.4.1 Simulation Results
An exercise has been carried out to compare the performances of three different types of fuzzy controllers. In all the exercises one robot is located inside four rectangular shape obstacles and one target is present in the environment. Figure 4.15 depicts the initial state of the environment for all the controllers. Figures 4.16 ‐ 4.18 represent the path traced by the robot using three‐membership function, five‐membership function, and Gaussian membership function respectively. Total path lengths using three‐membership, five‐membership and Gaussian membership fuzzy controllers are measured (in pixels) for four, eight, ten, sixteen, twenty‐four, forty, fifty and seventy robots. The final results are given in Table 4.6. Similarly time taken to reach the target using three‐membership, five‐
membership and Gaussian membership fuzzy controllers are measured for the same number of robots using statistical method. The results are given in Table 4.7. The path lengths and the search times are taken statistically from one thousand simulation results. The path lengths and search times are giving an objective measure of the performance of the different controllers. From the path length and search time it is observed that the fuzzy controller using Gaussian membership function finds the target in minimum time. 78
U‐shape obstacles
Target
One Robot
U‐shape obstacles Figure 4.15. Workspace for one mobile robot with one target (initial scenario). Figure 4.16. Navigation path for one mobile robot using three‐membership fuzzy controller. 79
Figure 4.17. Navigation path for one mobile robot using five membership triangular fuzzy controller. Figure 4.18. Navigation path for one mobile robot using Gaussian membership fuzzy controller. 80
Number of robots Total path length in pixels using three membership fuzzy controller Total path length in pixels using five membership fuzzy controller 4 8 10 16 24 40 50 70 564 1082 1357 2741 3982 5508 7109 14312 466 902 1094 2199 3361 4539 5963 12245 Total path length in pixels using Gaussian membership fuzzy controller 393 770 934 1924 2801 3874 5022 10178 Table 4.6. Path lengths using different fuzzy controllers. Number of Total time taken in robots seconds using three membership fuzzy controller 4 8 10 16 24 40 50 70 Total time taken in seconds using five membership fuzzy controller 15.91 32.24 36.11 51.83 87.75 119.06 197.14 326.02 13.44 26.40 31.29 42.44 72.49 100.08 168.02 269.32 Total time taken in seconds using Gaussian membership fuzzy controller 11.32 22.53 25.68 36.22 61.05 83.19 143.38 226.80 Table 4.7. Time taken to reach the target using different fuzzy controllers. 81
4.4.2 Experimental Results
Figures 4.19 ‐ 4.23 show experimental results obtained for one mobile robot for the similar simulated environment as shown in Figure 4.15. Similarly for two mobile robots the experiment is carried out (Figures 4.24 ‐ 4.28) in a similar simulated environment as shown in Figure 4.9. A brief description of the mobile robots used is given in Appendix ‐ C. The experimentally obtained paths closely follow the path traced by the robots during simulation. Table 4.8 shows a comparison between the average units of time taken by the robots in simulation and in the experimental mode for obstacle avoidance and target seeking. Figure 4.19. Initial scenario for real robot (Khepera II) for the similar simulated environment as shown in Figure 4.15. Figure 4.20. Intermediate scenario ‐ one for real robot (Khepera II) using Gaussian membership fuzzy controller. 82
Figure 4.21. Intermediate scenario ‐ two for real robot (Khepera II) using Gaussian membership fuzzy controller. Figure 4.22. Intermediate scenario ‐ three for real robot (Khepera II) using Gaussian membership fuzzy controller. Recorded path of robot Figure 4.23. Final scenario when Khepera II robot reaches the target. 83
Figure 4.24. Initial scenario for two real robots (Khepera II and Boe ‐ Bot) for the similar simulated environment as shown in Figure 4.9. Figure 4.25. Intermediate scenario ‐ one for real robot experiment (Khepera II and Boe ‐ Bot) using Gaussian membership fuzzy controller. Figure 4.26. Intermediate scenario ‐ two for real robot experiment (Khepera II and Boe ‐ Bot) using Gaussian membership fuzzy controller. 84
Figure 4.27. Intermediate scenario ‐ three for real robot experiment (Khepera II and Boe ‐ Bot) using Gaussian membership fuzzy controller. Recorded path of robot Figure 4.28. Final scenario when Khepera II and Boe ‐ Bot robots reach the target. Number of robots 1 2 4 Total time taken during simulation in seconds Fuzzy logic Fuzzy logic technique technique using five using five membership membership Gaussian triangular function function 12.01 10.56 12.34 11.12 13.44 11.32 Total time taken during experiment in seconds Fuzzy logic Fuzzy logic technique technique using five using five membership membership Gaussian triangular function function 13.29 11.41 13.31 12.16 14.56 12.41 Table 4.8. Time taken by robots in simulation and experiment to reach target (Fuzzy logic technique). 85
4.5 Summary
This chapter has described techniques for controlling the navigation of multiple mobile robots using different fuzzy logic controller in a highly cluttered environment. All techniques employ fuzzy rules and take into account the distances of the obstacles around the robots and the bearing of the target in order to compute the velocities of the driving wheels. With the use of Petri net model the robots are capable of negotiate with each other. It has been seen that, by using all the three types of fuzzy logic controller the robots are able to avoid any obstacles (static and moving obstacles), escape from dead ends, and find targets in a highly cluttered environments. Using fuzzy logic controller (Gaussian membership) as many as one thousand mobile robots can navigate successfully neither colliding with each other nor colliding with obstacles present in the environment. Comparisons of the performances among different techniques have been carried out statistically. From the present analysis it is concluded that the fuzzy logic controller utilising Gaussian membership is best among the three techniques for navigation of multiple mobile robots. 86
5 Neural Network Technique
5.1 Introduction
This chapter describes the navigation of multiple mobile robots using a neural network and a neuro‐fuzzy technique. The neural network considered here is a multi‐layered perceptron trained with backpropagation. This technique is used for obstacle avoidance and target seeking. The Petri‐net model presented in the previous chapter is again used here for averting inter robot collision. Then a neuro‐fuzzy technique is developed, in which neural network is acting as a preprocessor for a fuzzy controller. Simulation and experimental results are demonstrated to validate the developed techniques. Part of contents of this chapter has been published in •
“Neuro‐Fuzzy Technique for Navigation of Multiple Mobile Robots”, Fuzzy Optimization and Decision Making, (2006), Vol. – 5, pages 255 – 288. •
“Neuro‐Fuzzy Technique for Navigation of Multiple Mobile Robots”, VETOMAC 3 / ACSIM 2004, 6‐9 December 2004, Pages 749‐756. 87
5.1.1 Multilayer Neural Network Based Navigation Technique
The neural network used in this work is a back propagation multilayer perceptron having four layers [84]. The numbers of layers selected here are found empirically to facilitate training of neural network. The input layer has four neurons. Out of these four neurons three are meant to receive the distances of the obstacles in front and to the left and right of the robot, where as fourth neuron is for the target bearing. If no target is detected in the environment, the input to the fourth neuron is “zero”. The first hidden layer has twelve neurons and the second hidden layer has four neurons. The numbers of neurons in the hidden layers are found empirically. The output layer has a single neuron meant to produce the steering angle to control the direction of movement of the robot. Figure 5.1 depicts the neural network highlighting the details of the neurons with its input and output signals. The neural network is trained with one thousand patterns representing typical environmental scenarios. The neural network is trained with patterns representing typical scenarios, some of which are depicted in Figure 5.2. For example a situation described in Figure 5.2(c), where an obstacle is present in front of the robot and another obstacle is present on the left hand side. No other obstacles are present to the right of the robot. In this environment no target is present. The neural network is trained and will give a command to the robot to steer towards its right side to avoid collision with the front and left side obstacles. 88
Front Obstacle Distance Left Obstacle Distance Steering Angle Right Obstacle Distance Output Layer Target Angle
Second Hidden Layer Input Layer First Hidden Layer Figure 5.1. Four layer neural network for navigation of mobile robots. 89
Robot Robot
Robot
Robot
(f)
Robot
Robot
(g)
(h)
Target
Robot
Robot
Robot (i)
Target (d)
(c)
(e) Robot
Robot
(b)
(a) (k)
(j)
Robot (l)
Target
Target
Target
Target Robot (m)
Robot
Robot
(n)
(o)
Figure 5.2. Training Patterns for navigation of mobile robots. 90
Robot
(p)
During training and normal operation, input patterns fed to the neural network comprise the following components. d[11] = Left obstacle distance from the robot (5.1a) d[21] = Front obstacle distance from the robot (5.1b) d[31] = Right obstacle distance from the robot (5.1c) t[11] = Target bearing (5.1d) These input values are fed to the input layer as a result it will be distributed to the hidden neurons in turn the neural network generate outputs given by: (
)
y[jlay] = f Vj[lay] (5.2) (5.3) Where Vj[lay] = ∑ Wji[lay] . y[ilay‐1] i
And [lay] = 2, 3 (Hidden layers) j = label for jth neuron in hidden layer ‘lay’ i = label of ith neuron in hidden layer ‘lay‐1’ Wji[lay] = weight of the connection from neuron i in layer ʹlay‐1ʹ to neuron j in layer ʹlayʹ
and f(.) = an activated function chosen as the sigmoid function. f (x) = e x ‐ e ‐x
e x + e ‐x
(5.4) During training, the network output θactual may differ from the desired output θdesired as specified in the training pattern presented to the network. A measure of the performance of the network is the instantaneous sum squared difference between θdesired and θactual for the presented training patterns: 91
1
2
Err = ∑ ( θdesired ‐ θactual ) 2 all the
(5.5) training patterns
As mentioned previously, the error calculated in back propagation method is employed to train the network (Haykin [84]). This method requires the computations of local error gradients in order to determine appropriate weight corrections to reduce E rr . For the output layer, the error gradient δ [4 ] is: (
)
δ[ 4] = f ′ V1[ 4] ( θdesired ‐ θactual ) (5.6) The local gradient for neurons in the hidden layer [lay] is given by: ⎛
⎞
θ[jlay] = f ′ Vj[lay] ⎜ ∑ δ[klay + 1] Wkj[lay + 1] ⎟ ⎝ k
⎠
(
)
(5.7) The synaptic weights are updated according to the following expressions: Wji ( t + 1) = Wji ( t ) + ΔWji ( t + 1) (5.8) (5.9) And ΔWji ( t + 1) = αΔWji ( t ) + η δ[jlay] y lay‐1
i
Where α = momentum coefficient (chosen empirically as 0.25 in this work) η = learning rate (chosen empirically as 0.3 in this work) t = iteration number, each iteration consisting of the presentation of a training pattern and correction of the weights. The final output from the neural network is: (
)
θactual = f V1[ 4] Where V14 = ∑ Wli4 y i3 (5.10) (5.11) i
92
5.2 Neuro-Fuzzy Technique
The neuro‐fuzzy technique developed here consists of a pre‐processor using backpropagation neural network followed by a fuzzy logic controller. Figure 5.3 depicts the neuro‐fuzzy controller highlighting the details of the neurons with its inputs and output signal with fuzzy controller. The neural network used here also a backpropagation multilayer perceptron having four layers. The input layer has four neurons. The output layer has a single neuron meant to produce the steering angle. The output of the neural network i.e., the steering angle is fed to the fuzzy controller along with the information concerning the distances of the obstacles in front and to the left and right of the robot. The output of the fuzzy controller is to compute the velocities of the driving wheels. From the velocities of the driving wheel the steering angle is calculated to avoid obstacles and reach the target. From the previous chapter it was concluded that Gaussian membership function is the best among other membership function. Therefore Gaussian membership function is used in the fuzzy controller. The developed navigation techniques for several mobile robots are investigated in a totally unknown environment. Each robot has an array of sensors for measuring the distances of obstacles around it and an image sensor for detecting the bearing of the target. The developed neuro‐fuzzy technique has been demonstrated in simulation mode, which depicts that the robots are able to avoid obstacles and reach the targets efficiently. Amongst the techniques developed neuro‐fuzzy technique is found to be most efficient for mobile robots navigation. Experimental verifications have been done with the simulation results to prove the authenticity of the developed neuro‐fuzzy technique. 93
F.O.D. R.O.D.
L.O.D. Initial Output Steering Layer Angle Target Angle Input Layer First Hidden Layer Second Hidden Layer L.O.D.
Fuzzy Controller R.W.V.
R.O.D.
F.O.D.
L.O.D. = Left obstacle distance, R.O.D. = Right obstacle distance, F.O.D. = Front obstacle distance, L.W.V. = Left wheel velocity and R.W.V. = Right wheel velocity Figure 5.3. Neuro‐Fuzzy Controller for navigation of mobile robots. 94
L.W.V.
5.2.1 Obstacle Avoidance
Some of the fuzzy control rules avoiding collision with obstacles are listed Table 5.1. Rule 1‐10 deals with pure obstacle avoidance when the robot should turn away from an obstacle as soon as possible. Fuzzy Action left frontdist Rule dist No. 01 OA Near Near 02 OA Near Near rightdist heading angle leftvelo right velo Near Med Zero More negative Zero Negative Positive More positive Zero Negative Positive Negative Slow Slow Slow Med Fast Slow Fast Med Slow Slow Med Slow Slow Fast Fast Med Slow Med Slow Fast 03 04 05 06 OA OA OA OA Near Near Near Near Near Med Med Med Far Near Med Far 07 08 09 10 OA OA OA OA Near Near Near Med Far Far Far Near Near Med Far Near Table 5.1. Rules for obstacle avoidance. 5.2.2 Target Finding
If a mobile robot detect target, it will directly move towards the target unless there is an obstacle obstructing in its path. In that case, the robot will avoid collide the obstacle by changing its path and proceed towards target. The target finding rules are listed in Table 5.2. 95
Fuzzy Rule No. 27 28 29 30 31 32 Action left TS TS TS TS TS TS front right dist dist dist VN VN Near Med Far Far Far Med. Far Far Med Very Far Near VF Far Near Near Near heading angle Positive More Positive Positive More Negative Negative Negative left velo right velo Slow VF Fast Slow Med Med VS VS Slow Med Fast VF Table 5.2. Rules for target finding. Note: OA = Obstacle Avoidance, Med = Medium, frontdist = Front Obstacle Distance, rightdist = Right Obstacle Distance, leftdist = Left Obstacle Distance, leftvelo = Left Wheel Velocity, rightvelo = Right Wheel Velocity, TS = Target Seeking, VF = Very Fast, VN = Very Near and VS = Very Slow. 5.3 Demonstrations
The proposed neural network and neuro‐fuzzy technique have been implemented in simulation with different environments in this section. Experimental validations of the developed techniques are also presented to compare with the simulation results. 5.3.1 Neural Network Technique
5.3.1.1 Obstacle Avoidance and Target Seeking
This exercise shows that the mobile robots can navigate without colliding to the obstacles and can find targets in a cluttered environment using neural network technique. Ten robots are involved together with several obstacles including two targets enclosed in U‐shaped enclosures. Figure 5.4 shows the initial state of the beginning of the exercise. Figure 5.5 represents the final position where the robots are able to locate the targets with successfully avoiding the collision against the obstacles. 96
Obstacles
Target
Ten Robots Obstacles
Obstacles Target Figure 5.4. Obstacle avoidance and target seeking behaviour by ten mobile robots using neural network technique (Initial State). Figure 5.5. Obstacle avoidance and target seeking behaviour by ten mobile robots using neural network technique (Final State). 97
5.3.1.2 Escape from Dead Ends
Figures 5.6 and 5.7 show the ability of the robots, which are trapped within the dead ends, able to escape from those dead ends and find the target. Figure 5.6 shows the situation at the beginning of the exercise. Four robots are involved in the exercise. Three of the obstacles are rectangular shape and one obstacle is U‐
shape representing a dead end. From Figure 5.7, it can be seen that all the robots have escaped from the dead end and find the target successfully. Here neural technique is used for navigation of robots. 5.3.1.3 Navigation of ‘Nine Hundred Ninety Robots’
Obstacle avoidance by ‘nine hundred ninety’ robots using neural network technique are shown in Figures 5.8 and 5.9. Figure 5.8 depicts the state at the beginning of the exercise where as Figure 5.9 shows the situation some time after the exercise has begun. It can be seen that the robots are stay well away from the other robots and from the obstacles. 5.3.1.4 Inter Robot Collision Avoidance
This exercise relates to a problem designed to demonstrate that, the robots do not collide with each other even in a highly cluttered ambience. Figure 5.10 depicts the beginning of the exercise where as Figure 5.11 shows the trajectories of the robots for the neural network technique. It can be noted that the robots are able to resolve conflict and avoid one another and reach the target successfully. 98
Obstacles Four Robots Target Obstacles Figure 5.6. Escape from dead ends by four mobile robots using neural network technique (Initial State). Figure 5.7. Escape from dead ends by four mobile robots using neural network technique (Final State). 99
165 Robots 165 Robots 165 Robots
Obstacles
165 Robots Obstacles Obstacle 165 Robots
165 Robots Figure 5.8. Navigation of nine hundred ninety mobile robots using neural network technique (Initial State). Figure 5.9. Navigation of one thousand mobile robots using neural network technique (Intermediate State). 100
Target Four robots Obstacles Target
Figure 5.10. Collision avoidance between four mobile robots using neural network technique (Initial State). Figure 5.11. Collision avoidance between four mobile robots using neural network technique (Final State). 101
5.3.2 Neuro-Fuzzy Technique
5.3.2.1 Collision Free Movements in a Cluttered Environment
Figures 5.12 and 5.13 relate to a problem designed to demonstrate the robots to reach their targets in a highly cluttered environment without colliding with obstacles using neuro‐fuzzy technique. Figure 5.12 depicts the beginning and Figure 5.13 shows the end of the exercises where both the robots reach their target efficiently without colliding with each other. Robot 1 has travelled in the path ‘a‐b‐c‐d‐e‐f‐g’ and robot 2 has traced path ‘p‐q‐r‐s‐t‐u’. This exercise demonstrates that, the robots do not collide with each other even in a highly cluttered environment. After getting the start command the robots begin searching for target from point ‘a’ and ‘p’. 5.3.2.2 Escape from Dead Ends
Figures 5.14 and 5.15 show the ability of the robots to escape from the dead ends using neuro‐fuzzy technique. Fifteen robots are involved in this exercise. Figure 5.14 depicts the situation at the beginning of the exercise. The U‐
shaped and rectangular obstacles are causing dead ends for the robots. The robots are enclosed within U and rectangular shape obstacles. Figure 5.15 shows all the robots efficiently negotiate the dead ends and reach their target successfully. 5.3.2.3 Obstacle Avoidance by a Large Number of Robots
Obstacle avoidance by one thousand mobile robots using neuro‐fuzzy technique is shown in Figures 5.16 and 5.17. Figure 5.16 depicts the starting of the exercise. Figure 5.17 shows the situation after few times the exercise has begun. It can be noted that the robots stay well away from the obstacles as well as from each other. 102
Obstacles
Robot‐2
a
Target p
Target Robot‐1
Obstacles Obstacles
Figure 5.12. Collision avoidance by two mobile robots using neuro‐fuzzy technique (Initial State). c
u
g a
b
p
q s d
f e r
t Figure 5.13. Collision avoidance by two mobile robots using neuro‐fuzzy technique (Final State). 103
Rectangular Obstacle U‐Shape Obstacles
Fifteen Robots
Target
U‐Shape Obstacles Rectangular Obstacle Figure 5.14. Environment for escaping from the dead ends before starting of the mission using neuro‐fuzzy technique. Figure 5.15. Recorded paths of fifteen robots in case of escaping from dead ends and getting the targets using neuro‐fuzzy technique. 104
200 Robots 200 Robots
Obstacle
Obstacles U‐ shape obstacles
Obstacles
Obstacle
200 Robots
Obstacle
200 Robots
200 Robots
Figure 5.16. Navigation of large number of robots before starting the mission neuro‐fuzzy technique (1000 robots). Figure 5.17. Navigation of large number of robots after some time from the starting of the mission using neuro‐fuzzy technique (1000 robots). 105
5.4 Comparisons
5.4.1 Comparison between the Different Types of Fuzzy Controllers and
Neuro-Fuzzy Controller
An exercise has been carried out to compare the performances of the fuzzy logic with five membership Gaussian function, neural network and neuro‐fuzzy techniques. In all the exercises one robot is located inside four rectangular shape obstacles and one target is present in the environment. Figure 5.18 depicts the initial condition of the environment for all the techniques. Figures 5.19 ‐ 5.21 represent the path traced by the robot using fuzzy logic with five membership Gaussian function, neural network and neuro‐fuzzy techniques respectively. Figure 5.22 shows navigation of one mobile robot to reach the target with prior knowledge of target. The total path lengths using fuzzy logic, neural network and neuro‐fuzzy technique are measured (in pixels) for four, eight, ten, sixteen, twenty‐four, forty, fifty and seventy robots. The final results are given in Table 5.3. Similarly time taken to reach the target using fuzzy logic, neural network and neuro‐fuzzy technique are measured for the same number of robots using statistical method. The results are given in Table 5.4. The path lengths and the search times are taken statistically from one thousand simulation results. The path lengths and search times are giving an objective measure of the performance for different techniques. A comparison of the performances of different techniques has been carried out and represented in Table 5.5. In an ideal condition the robot knows the environment. It is observed that the neuro‐fuzzy technique performs the best among all the techniques considered. 106
Rectangular obstacles
Target
One Robot
Rectangular obstacles
Figure 5.18. Environment for one robot and one target. Figure 5.19. Navigation path for one mobile robot using neural network technique.
107
Figure 5.20. Navigation path for one mobile robot using five‐membership fuzzy logic technique with Gaussian membership function. Figure 5.21. Navigation path for one mobile robot using neuro‐fuzzy technique.
108
C
B A
Figure 5.22. Navigation of one mobile robot to reach target with prior knowledge of target. Number of robots 4 8 10 16 24 40 50 70 Total path length in pixels using Gaussian membership fuzzy logic technique 393 770 934 1924 2801 3874 5022 10178 Total path length in pixels using neural network technique Total path length in pixels using Neuro‐
fuzzy technique 472 927 1091 2239 3240 4604 6027 11821 360 715 842 1735 2517 3594 4592 9098 Table 5.3. Path lengths using different controllers. 109
Number of robots 4 8 10 16 24 40 50 70 Total time taken in seconds using Gaussian membership fuzzy technique 11.32 22.53 25.68 36.22 61.05 83.19 143.38 226.80 Total time taken in seconds using neural network technique Total time taken in seconds using Neuro‐fuzzy technique 13.58 27.10 31.55 43.98 71.68 105.14 166.95 268.40 10.35 20.90 23.48 33.12 54.88 73.95 125.71 207.36 Table 5.4. Time taken to reach the target using different controllers.
Sl. No. Different Techniques 01 02 Ideal condition Neural network technique Gaussian membership fuzzy Technique Neuro‐fuzzy technique 03 04 Path length in pixels 55.5 269.5 Time taken to reach the target in sec 0.45 2.42 165.5 1.5 33% 162.5 1.45 34% Performance evaluation ‐‐‐‐ 20% Table 5.5. Performance evaluation of different technique for navigation of one mobile robot. 110
5.4.2 Comparison of the Developed Neuro-Fuzzy Technique with Marichal
and Janglova Techniques
Comparisons of the developed neuro‐fuzzy technique have been carried out in simulation and experimental modes with Janglova [99] technique (Figures 5.23 –
5.29) for single mobile robot. In the similar environments the developed neuro‐
fuzzy technique is found to be more efficient compared to Janglova technique in reference to the navigational path. Similarly a comparison has been done with the developed neuro‐fuzzy technique in simulation and experimental modes with Marichal et al. [113] for multiple mobile robots (Figures 5.30 – 5.40). For similar environment robots embedded with the developed neuro‐fuzzy technique performs more efficiently in terms of path length. The developed neuro‐fuzzy technique can handle efficiently the navigation of one thousand mobile robots at a time. Robot Rectangular obstacles
Circular obstacles Rectangular obstacles Target Rectangular obstacles
Figure 5.23. Initial scenario for navigation of one mobile robot. 111
Figure 5.24. Navigation path for one mobile robot to reach target using developed neuro‐fuzzy technique. Figure 5.25. Navigation path for one mobile robot to reach target for the similar environment as shown in Figure 5.23 (Janglova D., [99]). 112
Figure 5.26. Initial scenario for real robot as shown in Figure 5.23. Figure 5.27. Intermediate scenario‐ one for real robot (Khepera II). Khepera II
Target
Figure 5.28. Intermediate scenario‐two for real robot (Khepera II). Navigation path of Robot Figure 5.29. Final scenario of real robot (Khepera II) at the target. 113
Obstacles Target Obstacles
Obstacles
Starting point of robot 2 Starting point of robot 1 Figure 5.30. Initial scenario for navigation of two mobile robots.
Navigation path for robot 2 Navigation path for robot 1 Figure 5.31. Navigation path of two mobile robots after reaching the target using developed neuro‐fuzzy technique. 114
Figure 5.32. Navigation path of two robots to reach the target for the similar environment as Figure 28. (Marichal G. N. et al., [113]). Target
Boe‐Bot robot
Khepera II Figure 5.33. Initial scenario for two real robots (Khepera II and Boe‐Bot) for similar simulated environment as shown Figure 5.32. 115
Figure 5.34. Intermediate scenario‐ one for two real robots (Khepera II and Boe‐
Bot). Figure 5.35. Intermediate scenario‐ two for two real robots (Khepera II and Boe‐
Bot). Figure 5.36. Intermediate scenario ‐ three for two real robots (Khepera II and Boe‐
Bot). 116
Navigation path for Boe‐Bot Navigation path for Khepera ‐ II Figure 5.37. Final scenario of two real robots ‘Khepera II and Boe‐Bot’ at the target. 100 Target
80
6
40
Obstacles 20
Obstacle
0 (Starting point of robot 4) -20
-40
Obstacles -60
-80
-100
(Starting point of robot 1) ‐50 (Starting point of robot 2) 0
(Starting point of robot 3) 50
100
Figure 5.38. Initial scenario for four mobile robots. 117
150 100 80
60
40
20
Navigation path of robot 4 0 -20
Navigation path of -60 robot 1 Navigation -80
path of robot 2 0
-100
‐50 -40
Navigation path of robot 3 50
100
150 Figure 5.39. Navigation path for four mobile robots to reach target using developed neuro‐fuzzy technique. Figure 5.40. Navigation path of four robots to reach the target for the similar environment as Figure 5.40 (Marichal G. N. et al. [113]). 118
5.5 Summary
This chapter has described techniques for navigation of multiple mobile robots using neural network technique and neuro‐fuzzy technique in a highly cluttered environment. With these techniques mobile robots can avoid obstacles around them. With the use of Petri net model they are capable of negotiating each other. They can find targets successfully in a cluttered environment. One thousand mobile robots can navigate successfully by using neuro‐fuzzy technique. Comparisons of performances among different developed techniques have been carried out. Also comparisons of the developed neuro‐fuzzy technique with those developed by Marichal et al. and Janglova have been carried out in simulation and experimental modes. From the analysis it is concluded that the developed neuro‐fuzzy technique is most efficient among all the techniques described in the present investigation. 119
6 Rule Based Technique
6.1 Introduction
This chapter focuses on rule‐based techniques. In a rule base system, the knowledge of the environment is stated declaratively in the form of rules. Rules are one of the major types of knowledge representation formalisms used in expert systems. The main components of a typical rule‐based system are: the working memory, the rule base and the inference engine. The working memory contains information about the particular instant of the problem being solved. The rule base is a set of rules, which represent the problem solving knowledge about the domain. A rule contains a set of conditions (antecedents) and a set of conclusions (consequents). The inference engine uses the rule base and the working memory to derive new information. The rule‐based controller is basically a look‐up table technique for representing complex nonlinear systems. Each rule in a rule‐base is a motion control command for a specific combination of present and desired states. A correct rule should be able to transform the robot from the present to the desired states in a sense of a predetermined performance criterion. All rule‐based systems need a control strategy to decide conflicts between two or more applicable rules. No matter how these rules are derived, they totally depend on the environment in which the robot is operated. In order to ensure the best performance and safety of the robot, the rule‐base needs to be modified to overcome environmental variations. In most cases, environmental conditions affect the entire rule‐base. Rather than modifying each rule individually, we investigate the possibility of modifying all the rules at once using Clematine rule‐
base software [160]. 120
Navigation of multiple mobile robots in presence of static and moving obstacles using rule‐based technique is presented in this work. First, the extraction of a set of navigation rules is extracted from the data base through ‘See 5’ algorithm. The rules are used on their own to control the navigation of multiple mobile robots. Also the rules are combined together, which gives rise to a rule‐based technique for control of mobile robots. The rules used can be used on their own to control the navigation of multiple robots or they can be combined with another tool to produce a hybrid navigation control technique. Both possibilities are described in this chapter. Part of contents of this chapter has been published in •
“Navigation of Multiple Mobile Robots Using Rule‐based‐Neuro‐Fuzzy Technique”, International Journal of Computational Intelligence, (2006), Vol. – 3(2), pages 142 – 152. •
“Path planning using rule‐based approach for navigation of multiple mobile Robots”, N.I.T., Rourkela, ISTAM – 2004, Page No.: 56. •
“Rule base Technique for Navigation of Multiple Mobile Robots”, NCME‐
03, TITE, Patiala, November, 2003, Pages: 432‐438. 121
6.2 Rule Based Technique for Mobile Robots
The rules used for navigation of multiple mobile robots are generated by induction from examples. Approximately one thousand examples are fed to See5. See5 is a rule induction program, within the Clementine data mining software package [160]. See5 employs a sophisticated divide‐and‐conquer technique originating from ID3 family of algorithms [161]. The examples present the situations encountered by a robot while moving in a multi‐robot, highly cluttered environment, and the actions that each robot has to take to avoid colliding with other robots as well as with fixed obstacles. Each example is consisting of four input elements specifying the distances of the obstacles to left, to right, and in front of the robot and the target angle and an output element giving the change in the steering angle of the robot being required in response to the input data. Some of the rules are mentioned below: Left obstacle distance, Front obstacle distance, Right obstacle distance, Target angle & Change in steering angle Sl. No. Left obstacle distance Front obstacle distance Right obstacle distance Target angle Change in steering angle 1 60 60 10 12 ‐7 2 60 50 32 12 ‐9 3 60 26 54 12 ‐5 4 60 23 18 14 ‐8 5 60 24 42 14 ‐7 6 60 23 52 14 ‐5 7 60 25 28 16 ‐7 8 60 56 46 16 ‐9 9 34 60 10 20 7 10 60 60 38 29 9 122
11 23 60 40 16 ‐9 12 60 60 18 22 10 13 35 60 40 22 11 14 60 60 26 24 12 15 34 60 10 26 13 16 45 11 60 ‐15 10 17 60 59 60 23 8 18 60 49 60 18 ‐8 19 26 47 60 18 ‐8 20 60 53 60 ‐8 8 21 26 49 60 12 9 22 60 51 60 9 15 23 34 11 60 19 10 24 53 60 38 10 ‐6 25 49 60 60 ‐10 7 26 30 60 60 ‐10 7 27 52 60 39 12 ‐8 Rule 6 described that if the robot is finding an obstacle at a distance 60 to the left, 52 to the right, 23 to the front and the robot is moving at target angle of 14, then change in steering angle required to reach the target as well as to avoid the obstacles is ‐5. In this rule, the distances are in cm each and target angle and the change in steering angle are in degrees. In this exercise one thousand seven hundred (Appendix ‐ E) situations are fed to See5. From these situations, See5 yields 54 rules. Out of 54 rules ten rules are listed below: 123
Rule 1 If (left obstacle distance > 20 cm) and (front obstacle distance <= 12 cm) and (right obstacle distance <= 30 cm) and (target angle > 10˚) and (target angle <= 12˚) Then Change in steering angle = ‐7˚ Rule 2 If (left obstacle distance > 12 cm) and (front obstacle distance <= 20 cm) and (right obstacle distance <= 30 cm) and (target angle > 14˚) and (target angle <= 16˚) Change in steering angle = ‐7˚ Rule 3 If (left obstacle distance > 18 cm) and (front obstacle distance <= 12 cm) and (right obstacle distance > 30 cm) and (right obstacle distance <= 48 cm) and (target angle > 12˚) and (target angle <= 14˚) Then Change in steering angle = ‐7˚ Rule 4 If (left obstacle distance > 18 cm) and (front obstacle distance <= 12 cm) and (right obstacle distance > 30 cm) and (right obstacle distance <= 48 cm) and (target angle > 14˚) and (target angle <= 16˚) Change in steering angle = ‐9˚ Rule 5 If (left obstacle distance <= 28 cm) and (front obstacle distance <= 30 cm) and (right obstacle distance > 30 cm) and (right obstacle distance <= 48 cm) and (target angle > 10˚) and (target angle <= 12˚) Then Change in steering angle = ‐9˚ 124
Rule 6 If (left obstacle distance > 18 cm) and (front obstacle distance <= 32 cm) and (right obstacle distance > 48 cm) and (target angle > 10˚) and (target angle <= 16˚) Then Change in steering angle = ‐5˚ Rule 7 If (left obstacle distance > 25 cm) and (front obstacle distance <= 32 cm) and (right obstacle distance <= 31) and (target angle > 29˚) and (target angle <= 30˚) Then Change in steering angle = ‐8˚ Rule 8 If (left obstacle distance > 15 cm) and (front obstacle distance <= 30 cm) and (right obstacle distance <= 30) and (target angle > 12˚) and (target angle <= 14˚) Then Change in steering angle = ‐8˚ Rule 9 If (left obstacle distance > 20 cm) and (front obstacle distance <= 24 cm) and (right obstacle distance <= 29) and (target angle > ‐30˚) and (target angle <= ‐19˚) Then Change in steering angle = ‐8˚ Rule 10 If (left obstacle distance > 20 cm) and (front obstacle distance <= 22 cm) and (right obstacle distance <= 30) and (target angle > 16˚) and (target angle <= 20˚) Then Change in steering angle = 7˚ 125
6.2.1 Analysis of Rule-Based Technique
In this analysis various rules are extracted and subsequently experimented separately and collectively. The rules are extracted from the data base through the rule‐based technique ‘See 5’ (Appendix ‐ D). The rules extracted by ‘See 5’ are experimented individually and the results are shown in Figures 6.1 ‐ 6.4. During robots’ exercise, it is observed that the robots either collide with the obstacles or collide with the walls of the enclosure. Obstacles Obstacles
8 Robots
Obstacles
Obstacles
Figure 6.1. Scenario before applying rule 1. 126
Collides with obstacles Collide with obstacles Collides with obstacle Recorded paths of robots Collide with walls Collides with obstacles Figure 6.2. Final scenario when rule 1 is activated. Obstacles Collide with obstacle Collides with obstacle Collide with obstacles Obstacles Recorded paths of robots Obstacles Collide with obstacle Figure 6.3. Final scenario when rule 2 is activated. 127
Collide with walls Collides with wall Obstacles Recorded paths of robots Collides with obstacles Obstacles Collides with the wall
Figure 6.4. Final scenario when rule 8 is activated. Obstacles Obstacles Obstacles Obstacles 15 Robots
Figure 6.5. Scenario before applying all the rules simultaneously. 128
Collides with the obstacles Recorded path of robots Collides with obstacles Collides with obstacles Collide with the wall Figure 6.6. Final scenario when are the rules are applied simultaneously. The set of all the 54 induced rules perform better. From the simulation results it is noticed that some robots are not able to avoid obstacles. The scenarios are shown in Figures 6.5 and 6.6. In addition to the above rules, some rules are incorporated to fine tune the rule‐based system. The new rules are required, as the induced rules do not cover all situations encountered by the robots. The additional rules are listed below: Rule 55 If (left obstacle distance <= 20 cm) and (front obstacle distance > 20 cm) and (right obstacle distance > 25 cm) and (right obstacle distance<=30 cm) and (target angle > 23˚) and (target angle <= 40˚) Then Change in steering angle = 8˚ 129
Rule 56 If (left obstacle distance > 15 cm) and (front obstacle distance <= 10 cm) and (right obstacle distance <= 30cm) and (right obstacle distance >23 cm) and (front obstacle distance > 20 cm) and (right obstacle distance > 20 cm) and (left obstacle distance>20 cm) and (target angle > 18˚) and (target angle <= 24˚) Then Change in steering angle = 10˚ Rule 57 If (left obstacle distance <= 5 cm) and (front obstacle distance > 20 cm) and (right obstacle distance <= 30cm) and (right obstacle distance >20 cm) and (front obstacle distance > 20 cm) and (right obstacle distance > 20 cm) and (left obstacle distance>20 cm) and (target angle > 10˚) and (target angle <= 18˚) Then Change in steering angle = 4˚ Rule 58 If (left obstacle distance <= 29 cm) and (front obstacle distance <= 20 cm) and (right obstacle distance <= 30cm) and (right obstacle distance > 18 cm) and (front obstacle distance > 20 cm) and (right obstacle distance > 20 cm) and (left obstacle distance>20 cm) and (target angle > 23˚) and (target angle <= 34˚) Then Change in steering angle = 14˚ Rule 59 If (front obstacle distance <= 20 cm) and (right obstacle distance <= 40cm) and (right obstacle distance > 30 cm) and (front obstacle distance > 20 cm) and (right obstacle distance > 20 cm) and (left obstacle distance> 20 cm) and (target angle > 10˚) and (target angle <= 23˚) Then Change in steering angle = 6˚ 130
Rule 60 If (front obstacle distance < 20 cm) or (right obstacle distance < 20 cm) or (left obstacle distance < 20 cm) Then Change in steering angle = 7˚ Rule 61 If (front obstacle distance < 14 cm) or (right obstacle distance < 14 cm) or (left obstacle distance < 14 cm) Then Change in steering angle = 13˚ After including the above 7 rules the robots are able to navigate and reach their target efficiently in a highly cluttered environment. 6.3 Rule-Based - Neuro-Fuzzy technique
The set of rulers forms the core of a pure rule‐based controller. This set of rules combined with other tools to yield a hybrid controller. Here rule‐based technique has been integrated with neuro‐fuzzy technique to improve the navigation of robots in highly cluttered environment. The resulting architecture is shown in Figure 6.7. The role of the rule‐
based controller is to estimate the initial steering angle for the neuro‐fuzzy controller. Then the initial steering angle is fed to neural controller along with the distances of obstacles to the left, right and in front of the robot. The neural network used here is a back propagation multilayer perceptron having four layers, which is discussed in Chapter‐5. The output of the neural network i.e., the second estimate steering angle is fed to the fuzzy controller along with the information concerning the distances of the obstacles in front and to the left and 131
right of the robot. The output of the fuzzy controller is to compute the velocities of the driving wheels. From the velocities of the driving wheel the steering angle is calculated to avoid obstacles and reach the target. The fuzzy controller used here is a taken from Chapter‐4. F.O.D. L.O.D. R.O.D.
Second Estimated Output Steering Angle layer First Estimated Steering Angle F.O.D. L.O.D. R.O.D
T.A. Rule Base Controller Input layer Second hidden layer Neural Controller
L.O.D.
Fuzzy Controller R.W.V.
R.O.D.
L.W.V.
F.O.D.
First hidden layer L.O.D. = Left Obstacle Distance
L.W.V. = Left Wheel Velocity R.O.D. = Right Obstacle Distance
R.W.V. = Right Wheel Velocity F.O.D. = Front Obstacle Distance
T.A. = Target Angle
Figure 6.7. Rule‐based‐neuro‐fuzzy technique for navigation of mobile robots. 132
6.4 Demonstrations
The developed rule‐based technique and rule‐based‐neuro‐fuzzy technique have been implemented in simulation mode with different environments. Experimental validations are carried out to compare with the simulation results. 6.4.1 Rule-Based Technique
6.4.1.1 Obstacle Avoidance and Target Seeking by Multiple Mobile Robots
This exercise involves fifteen mobile robots initially assembled into one group. Two targets are present in the scenario. The targets are located in U shaped partition shown in Figure 6.8. Figure 6.9 depicts the final position, when all the robots have reached the targets. 6.4.1.2 Obstacle Avoidance by a Large Number of Robots
Obstacle avoidance by one thousand mobile robots using rule‐based technique is shown in Figures 6.10 and 6.11. Figure 6.10 depicts the starting of the exercise. Figure 6.11 presents the state after few seconds the exercise has started. It can be noted that the robots stay well away from the obstacles as well as from each other. 133
Obstacles
Target Target 15 Robots
Obstacles
Obstacles
Figure 6.8. Collision free movement using rule‐based technique. Recorded paths of Robots
Figure 6.9. Collision free movement using rule‐based technique. 134
200 Robots
Obstacles Obstacles 200 Robots Obstacle Obstacle 200 Robots
Obstacle 200 Robots 200 Robots
Figure 6.10. Navigation of one thousand robots using rule‐based technique before starting of simulation. 1000 Robots Figure 6.11. Navigation of one thousand robots after some time from the starting of the mission using rule‐based technique. 135
6.4.1.3 Escape from Dead Ends
Figures 6.12 and 6.13 show the ability of the robots to escape from the dead ends using rule‐based technique. Fifteen robots are involved in this exercise. Figure 6.12 depicts the situation at the beginning of the exercise. The U‐
shaped and rectangular obstacles are causing dead ends for the robots. Figure 6.13 shows all the robots efficiently negotiate the dead ends and reach their target successfully. 6.4.1.4 Collision Free Movements in a Cluttered Environment
Figures 6.14 and 6.15 relate to a problem designed to demonstrate that the robots reach their targets in a highly cluttered environment without colliding with obstacles. Figure 6.13 depicts the beginning and Figure 6.14 shows the end of the exercise where all the robots reach their targets efficiently without colliding with each other. In this exercise only two robots have been employed for proper visualisation. Robot 1 has travelled through path a‐b‐c‐d‐e‐f‐g‐h‐I‐j‐k‐
l‐m‐n and Robot 2 traced path u‐v‐w‐x‐y‐z. 136
Obstacles
Target 15 Robots Obstacles
Figure 6.12. Environment for escaping from the dead ends before starting of the mission using rule‐based technique. Recorded paths of robots Figure 6.13. Environment for escaping from the dead ends after the robots reaches their targets using rule‐based technique. 137
Obstacles
Robot 1
Robot 2
Target Target
Obstacles
Figure 6.14. Two robots in a highly cluttered environment for finding the targets using rule‐based technique (Initial scenario). g
l m
h d
j
v
n c u
a
w
z b
i
f
x
e
k
Figure 6.15. Recorded paths of two robots after reaching their target.
138
y 6.4.2 Rule-Based-Neuro-Fuzzy Technique
6.4.2.1 Escape from Dead Ends
Figures 6.16 and 6.17 show the ability of the robots to escape from dead ends and find the target. Figure 6.16 shows the situation at the beginning of the exercise. Ten robots are involved in the exercise. Two of the obstacles are U‐
shaped and two obstacles are rectangular shape representing a dead end. From Figure 6.17, it can be seen that all the robots which are trapped inside have escaped and able to negotiate with dead ends and find the target successfully. 6.4.2.2 Navigation by Nine Hundred Ninety Mobile Robots
Obstacle avoidance by ‘nine hundred ninety’ robots using rule‐based‐
neuro‐fuzzy technique is shown in Figures 6.18 and 6.19. Figure 6.18 depicts the state at the beginning of the exercise where as Figure 6.19 shows the situation some time after the exercise has begun. It can be seen that the robots are stay well away from the other robots and from the obstacles. 6.4.2.3 Inter Robot Collision Avoidance
This exercise relates to a problem designed to demonstrate that, the robots do not collide with each other even in a highly cluttered ambience. Figure 6.20 depicts the beginning of the exercise where as Figure 6.21 shows the trajectories of the robots for the rule‐based‐neuro‐fuzzy controller. It can be noted that the robots are able to resolve conflict and avoid one another and reach the target successfully. 139
Obstacles Obstacles
Target 10 Robots Obstacles
Figure 6.16. Escape from dead ends by ten mobile robots using rule‐based‐neuro‐ fuzzy technique (Initial State). Figure 6.17. Escape from dead ends by fifteen mobile robots using rule‐based‐
neuro‐ fuzzy technique (Final State). 140
165 Robots Obstacle
165 Robots 165 Robots 165 Robots Obstacles 165 Robots 165 Robots Obstacles
Figure 6.18. Navigation scenario of nine hundred ninety mobile robots using rule‐based‐neuro‐ fuzzy technique (Initial State). Figure 6.19. Navigation of nine hundred ninety mobile robots using rule‐based‐
neuro‐ fuzzy technique (Intermediate State). 141
Obstacles Obstacles Robot 1
Target Obstacles
Target
Robot 2
Obstacles Figure 6.20. Collision avoidance by two mobile robots using rule‐based‐neuro‐ fuzzy technique (Initial State). Recorded path of robot 1
Recorded path of robot 2
Figure 6.21. Collision avoidance between two mobile robots using rule‐based‐
neuro‐ fuzzy technique (Final State). 142
6.4.2.4 Experimental Validation with the Simulation Results for Two Mobile
Robots
Experimental validation of the developed rule‐based‐neuro‐fuzzy technique has been compared with the simulated result as shown in Figure 6.20. It has been observed that real robots follow closely simulated path (Figure 6.21). The experimental results are shown in Figures 6.22 ‐ 6.25. Figure 6.22. Experimental result for two mobile robots using rule‐based‐neuro‐
fuzzy technique (Initial stage). Figure 6.23. Experimental result for two mobile robots using rule‐based‐neuro‐
fuzzy technique (Intermediate stage ‐ one). 143
Figure 6.24. Experimental result for two mobile robots using rule‐based‐neuro‐
fuzzy technique (Intermediate stage ‐ two). Figure 6.25. Experimental result for two mobile robots using rule‐based‐neuro‐
fuzzy technique (Intermediate stage ‐ three). Figure 6.26. Experimental result for two mobile robots using rule‐based‐neuro‐
fuzzy technique (Final stage). 144
6.5 Comparison between Different Controllers
This exercise is similar to the exercise demonstrated in Section‐5.4. A comparison is conducted to determine the most appropriate technique for multiple mobile robots control out of rule‐based and rule‐based‐neuro‐fuzzy techniques. An exercise has been devised to compare the performances of the rule‐based and the rule‐based‐neuro‐fuzzy techniques. In all the exercises one robot is located inside four obstacles and one target hidden from the robot view is present. Figure 6.27 represents the initial condition of the environment for all the techniques. Figures 6.28 and 6.29 depict the path traced by the robot using rule‐based and rule‐
based‐neuro‐fuzzy techniques respectively. Total path lengths using rule‐based and rule‐based‐neuro‐fuzzy techniques are measured in pixels for four, eight, ten, sixteen, twenty‐four, forty, fifty, and seventy robots. The path lengths are taken statistically from one thousand simulation results. The final results are given in Table 6.1. Similarly time taken to reach the target using rule‐based and rule‐based‐neuro‐fuzzy techniques is measured for the same number of robots using statistical method. The results are given in Table 6.2. From the path lengths and search times it is concluded that the rule‐based‐neuro‐fuzzy controller performs the best. 145
Target Rectangular Obstacles One Robot U‐Shaped Obstacles Figure 6.27. Environment for one robot and one target. Recorded path of robot Figure 6.28. Navigation path for one mobile robot to reach target using rule‐
based controller. 146
Recorded path of robot Figure 6.29. Navigation path for one mobile robot to reach target using rule‐
based‐neuro‐fuzzy controller. Number of robots Total path length in pixels using rule‐based technique 4 8 10 16 24 40 50 70 375 1297 1418 2083 3115 4866 5912 12992 Total path length in pixels using rule‐based‐neuro‐fuzzy technique 295 614 679 1465 2107 3692 3994 7497 Table 6.1. Path lengths using different rule base techniques. 147
Number of robots Total time taken in seconds using rule‐based technique 4 8 10 16 24 40 50 70 12.36 28.12 29.97 34.65 56.24 79.07 135.44 266.92 Total time taken in seconds using rule‐based‐neuro‐fuzzy technique 8.48 18.04 19.50 28.52 45.57 64.31 108.46 182.16 Table 6.2. Time taken to reach the target using different techniques. 6.5.1 Experiments with Single Real Mobile Robot
Figures 6.30 ‐ 6.35 show the experimental results for rule‐based‐neuro‐fuzzy controllers of a single mobile robot similar to the simulated environment (Figure 6.27). The experimental paths drawn follow closely the path traced by the robot during simulation. It is observed that the robots are able to avoid obstacles and reach the target. A comparison (Table 6.3) has been made between the simulation and experimental results for average times taken by the robots during obstacles avoidance and target seeking. Figure 6.30. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Initial stage). 148
Figure 6.31. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Intermediate stage ‐ I). Figure 6.32. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Intermediate stage ‐ II). Figure 6.33. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Intermediate stage ‐ III). 149
Figure 6.34. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Intermediate stage ‐ IV). Figure 6.35. Experimental result of one robot using rule‐based‐neuro‐fuzzy technique (Final stage). Number of robots 1 2 4 Total time taken during simulation in seconds Rule‐based Rule‐based‐
technique neuro‐fuzzy technique 11.01 8.21 11.56 8.36 12.36 8.48 Total time taken during experiment in seconds Rule‐based Rule‐based‐
technique neuro‐fuzzy technique 12.21 8.56 13.16 10.02 13.51 10.26 Table 6.3. Time taken by robots in simulation and experiment to reach the target (Rule‐based technique). 150
6.6 Summary
This chapter has described rule‐based and rule‐based‐neuro‐fuzzy techniques for control of multiple mobile robots. The rule base technique has a set of rules obtained through rule induction and enhanced with manually derived heuristics. The enhanced set of rules is a component of the hybrid rule‐based‐neuro‐fuzzy technique. The demonstrations reported in this chapter have highlighted the superior performance of the rule‐based‐neuro‐fuzzy technique over other techniques discussed. 151
7 Potential Field Navigation Technique
7.1 Introduction
This chapter presents a potential field navigation technique for robot navigation. The developed potential field function takes care of both obstacles and targets. The final aims of the robot are to reach some pre‐defined targets. The new potential function can configure a free space, which is free from any local minima irrespective of number of repulsive nodes (obstacles) in the configured space. There is a unique global minimum for an attractive node (target) whose region of attraction extends over the whole free space. Navigation of multiple mobile robots in presence of static and moving obstacles using potential field navigation technique is presented in this chapter. The attractive potential function is defined as a function of relative position of the target with respect to robot. The repulsive potential function is also defined as the relative position of robots in respect of the obstacles. The derived repulsive function is so considered that the total potential has a global minimum at the target position. Part of contents of this chapter has been published in •
“Potential field method to navigate several mobile robots”, Applied Intelligence, (2006), Vol. 25 pages 321 – 333. •
“Potential Field Method for Navigation of Multiple Mobile Robots”, NIT, Hamirpur, RDFTME‐2006, Pages 446 – 454. •
“Potential‐Field‐Neuro‐Fuzzy Technique for Navigation of Several Mobile Robots”, N.I.T., Rourkela, ETCE‐2005, Pages 73 – 84. 152
7.2 Analysis of Potential Field Navigation technique
In this section, a through analysis of navigation of multiple mobile robots using potential field navigation technique is described. The motion‐planning problem for multiple mobile robots in a dynamic environment is to control the robots motion from an initial position to final targets, while avoiding obstacles. Two assumptions are made to simplify the analysis: Assumption 1: The robots are of mass point. Assumption 2: The robots moves in a two dimensional workspace. It’s position in the workspace is denoted by q = [x, y] is known. 7.2.1 Attractive Potential Function
The attractive potential function used [162] is, (
)
1
Uatt ( q ) = δρ m q , q Target 2
(7.1) Where δ is a positive scaling factor ρ (q , q Target ) = || q Target - q || is the distance between the robot q and the target q Target and m = 2. The attractive potential force is given by the negative gradient of the attractive potential field. (
)
Fatt ( q ) = ‐ ∇Uatt ( q ) = δ q Target ‐ q Where the operator ∇ = (7.2) ∂ ˆ
∂ ˆ
∂
i + j + kˆ ∂x
∂y
∂z
153
7.2.2 Repulsive Potential Function
The repulsive potential function used [162] is, 2
⎧
⎛
⎞
1
1
1
⎪ α ⎜
‐ ⎟ if ρ q , q obsi ≤ ρ0
i
⎪
⎜ ρ q , q obs
ρ0 ⎟
U rep ( obsi ) = ⎨ 2
i
⎝
⎠
⎪
⎪⎩ 0 if ρ q , q obsi > ρ0
(
)
(
)
(
)
(7.3) Frep ( obsi ) = ‐∇Urep ( obsi ) Where i = 1 to n, n is number of obstacles, ‘ α i ’is the positive scaling factor, ρ 0 = Positive constant denoting influences of the obstacle on the robot and ρ ( q , q obs ) is the minimum distance from the robot ‘q’ to the obstacle. i
In the environment shown in Figure 7.1 three obstacles are surrounded the target and robot. The repulsive potential forces due to obstacle 1, 2 and 3 are: For obstacle 1, Frep ( obs1 ) = ⎧ ⎛
1
1 ⎞
1
∂
⎪α 2 ⎜
‐ ⎟ 2
ρ q x , q obs1x iˆ
ρ0 ⎟ ρ q x , q obs1x ∂x
⎪ ⎜ ρ q x , q obs1x
⎠
⎪ ⎝
⎪
⎛
⎞
1
1 ⎟
1
∂
⎪+ α ⎜
‐ ρ q y , q obs1y ˆj
⎪ 2 ⎜
2
⎟
y
ρ
∂
⎜ ρ q y , q obs1y
0 ⎟ ρ q y , q obs
⎨
1y
⎝
⎠
⎪
⎪
⎛
1
1 ⎞
1
∂
⎪+ α 2 ⎜
‐ ⎟ 2
ρ q z , q obs1z kˆ if ρ q , q obs1 ≤ ρ0
⎜ ρ q z , q obs
ρ0 ⎟ ρ q z , q obs1z ∂z
⎪
1z
⎝
⎠
⎪
⎪ 0 if ρ q , q obs > ρ0
1
⎩
(
)
(
(
)
(
)
(
)
(
)
(
)
)
(
)
(
)
(
)
(
)
(7.4) 154
y
(0,1)
(0, 0.5) (‐0.5, 0.5)
Obstacle 3
(‐1,0) Obstacle 2
(‐0.5,0) Target (0.0)
Robot
(0.5,0)
Obstacle 1 (1,0) x
(0, ‐0.5)
(0, -1)
Figure 7.1. Location of target, robot and obstacles. For obstacle 2, Frep ( obs 2 ) = ⎧ ⎛
1
1 ⎞
1
∂
⎪α 2 ⎜
‐ ⎟ 2
ρ q x , q obs2x iˆ
ρ0 ⎟ ρ q x , q obs2x ∂x
⎪ ⎜ ρ q x , q obs2x
⎝
⎠
⎪
⎪
⎛
⎞
1
1 ⎟
1
∂
⎪+ α ⎜
‐ ρ q y , q obs2y ˆj
⎪ 2 ⎜
2
⎟
y
ρ
∂
⎜
⎟
q
, q
q
, q
ρ
ρ
0
⎨
y
y
obs 2y
obs 2y
⎝
⎠
⎪
⎪
⎛
1
1 ⎞
1
∂
⎪+ α 2 ⎜
‐ ⎟ 2
ρ q z , q obs2z kˆ if ρ q , q obs2 ≤ ρ 0
⎜ ρ q z , q obs
ρ0 ⎟ ρ q z , q obs2z ∂z
⎪
2z
⎝
⎠
⎪
⎪ 0 if ρ q , q obs > ρ 0
2
⎩
(
)
(
(
)
(
)
(
)
(
)
(
)
)
(
)
(
)
(
)
(
)
(7.5) 155
For obstacle 3, Frep ( obs 3 ) = ⎧ ⎛
∂
1
1 ⎞
1
⎪α 3 ⎜
‐ ⎟ 2
ρ q x , q obs3x iˆ ρ0 ⎟ ρ q x , q obs3x ∂x
⎪ ⎜ ρ q x , q obs3x
⎠
⎪ ⎝
⎪
⎛
⎞
∂
1
1 ⎟
1
⎪+ α ⎜
ρ q y , q obs3y ˆj ‐ ⎪ 3 ⎜
2
⎟
∂y
ρ0 ⎟ ρ q y , q obs
⎜ ρ q y , q obs3y
⎨
3y
⎝
⎠
⎪
⎪
⎛
∂
1
1 ⎞
1
⎪+ α 3 ⎜
‐ ⎟ 2
ρ q x , q obs3x kˆ if ρ q , q obs3 ≤ ρ 0
⎜ ρ q x , q obs
ρ0 ⎟ ρ q x , q obs3x ∂z
⎪
3x
⎝
⎠
⎪
⎪ 0 if ρ q , q obs3 > ρ 0
⎩
(
)
(
(
)
(
)
(
)
(
)
(
)
)
(
)
(
)
(
)
(
)
(7.6) Total potential influences on the robot { U Total } = Attractive potential due to target { Uatt } + ⎧n
⎫
Repulsive potential due to ‘n’ number of obstacles ⎨∑ U rep ( obsi ) ⎬ ⎩ i=1
⎭
n
U Total = Uatt + ∑ U rep ( obsi ) (7.7) i=1
Similarly the total force applied on the robot is the sum of attractive potential force and repulsive potential forces. n
FTotal = Fatt + ∑ Frep ( obsi ) (7.8) i=1
When the above‐induced forces are applied on a robot where three obstacles are present in the environment along with target, it was observed that the robot would trap in local minimum. In the example described in Figure 7.1 the robot position q = [x, 0], target position q target = [0, 0], obstacle1 q obs1 = [0.5, 0] on the right‐hand side of the 156
target, obstacle2 q obs2 =[‐1,0] on the left‐hand side of the target and obstacle3 q obs3 = [‐0.5, 0.5] present in the environment. Here target and robot are within the influence of obstacles. Total potential function n
U Total = Uatt + ∑ U rep ( obsi ) i=1
2
3
1
1 ⎛
1
1 ⎞
= δ x 2 + ∑ α i ⎜
‐ ⎟ ⎜ ρ q , q obs
2
ρ0 ⎟
i =1 2
i
⎝
⎠
(
)
(7.9A) n
FTotal = Fatt + ∑ Frep ( obsi ) i=1
⎡
⎤
⎫
⎞
⎢ ⎪⎧ ⎛
⎥
∂
1
1
1
⎪
‐ ⎟ 2
ρ q x , q obs1x iˆ + ( 0 ) ˆj + ( 0 ) kˆ ⎬
⎢ ⎨α 1 ⎜
⎥
ρ0 ⎟ ρ q x , q obs1x ∂x
⎢ ⎪⎩ ⎝⎜ ρ q x , q obs1x
⎥
⎠
⎭⎪
⎢
⎥
⎫
⎢ ⎧
⎥
⎪
∂
1
1 ⎞
1
⎢ ⎪ ⎛
⎥
= ⎢ + ⎨α 2 ⎜
‐ ⎟ 2
ρ q x , q obs2x iˆ + ( 0 ) ˆj + ( 0 ) kˆ ⎬
⎥
⎜
ρ0 ⎟ ρ q x , q obs2x ∂y
⎪
⎢ ⎪ ⎝ ρ q x , q obs2x
⎥
⎠
⎭
⎢ ⎩
⎥
⎢ ⎧
⎥
⎫
⎛
⎞
⎛
⎞
⎢ ⎪
⎥
1
1
1
∂
⎪
⎜
⎟
⎜
⎟
ˆ
‐ ρ q y , q obs1y ˆj + ( 0 ) kˆ ⎬⎥
⎢ + ⎨ ( 0 ) i + ⎜ α 3 ⎜
2
⎟⎟
⎟
ρ
∂z
⎜
⎟
, q
q
, q
ρ
q
ρ
0
⎜
⎪
⎪⎥
y
y
obs3y
obs1y
⎝
⎠
⎢⎣⎢ ⎩
⎝
⎠
⎭⎦⎥
(
)
(
(
)
(
(
(
157
)
(
)
)
(
)
)
)
(
)
(7.9B) 70
Total potential UTotal 60
50
40
30
20
10
0
-3
-2
-1
Figure 7.2. Total potential function. 0
x
1
2
3
Figure 7.2 shows the variation of total potential field with respect to robot position along x‐axis when α1 = α 2 = α 3 = δ = 1 and ρ 0 = 2 . It can be seen from the graph (Figure 7.2) that the robot will be trapped at the minimum (i.e., at x = ‐0.2). Therefore it is clear that the target is not the minimum of the total potential function. The total force at x = ‐0.2 is zero. Thus the robot can not reach the target, though there is no obstacle on its way. To overcome this problem, new repulsive potential functions are developed which considered the relative distance between the robot and the target into account. 7.2.3 New Repulsive Potential Function
From the above discussion it is concluded that, the global minimum of the total potential field is not at the target position. This problem occurs as the robot approaches the target, the repulsive potential force increases due to presence of obstacle near the target. It is observed that if the repulsive potential force 158
approaches zero, the robot move towards the target. The new developed repulsive potential function that take the relative distance between the robot and the target is given in equation 7.10. 2
⎧
⎛
⎞
1
1
1
⎪
‐ ⎟ ρ n q , q target if ρ q , q obsi ≤ ρ 0
⎪ 2 α i ⎜⎜
ρ0 ⎟
U rep ( obs i ) = ⎨
⎝ ρ q , q obsi
⎠
⎪
⎪⎩ 0 if ρ q , q obsi > ρ 0
(
(
)
)
(
)
(
)
(7.10) To attain the global minimum at the target for the environment where three obstacles, one robot and one target present using equation 7.10, the repulsive potential functions are given in equations 7.11 to 7.13. 2
⎧
⎛
⎞
1
1
1
⎪ α ⎜
‐ ⎟ ρ n q , q target if ρ q , q obs1 ≤ ρ 0
⎪2 1 ⎜
ρ0 ⎟
U rep ( obs1 ) = ⎨
⎝ ρ q , q obs1
⎠
⎪
⎪⎩ 0 if ρ q , q obs1 > ρ 0
(
(
)
)
(
)
(
)
(7.11) 2
⎧
⎛
⎞
1
1
1
⎪ α ⎜
‐ ⎟ ρ n q , q target if ρ q , q obs2 ≤ ρ 0
⎪2 2 ⎜
ρ0 ⎟
U rep ( obs 2 ) = ⎨
⎝ ρ q , q obs2
⎠
⎪
⎪⎩ 0 if ρ q , q obs2 > ρ 0
(
(
)
)
(
)
(
)
(7.12) 2
⎧
⎛
⎞
1
1
1
⎪
‐ ⎟ ρ n q , q target if ρ q , q obs3 ≤ ρ0
⎪ 2 α 3 ⎜⎜
ρ0 ⎟
U rep ( obs 3 ) = ⎨
⎝ ρ q , q obs3
⎠
⎪
⎪⎩ 0 if ρ q , q obs3 > ρ 0
(
(
)
159
)
(
)
(
)
(7.13) (
)
(
)
(
)
Where ρ q , q obs1 , ρ q , q obs2 , ρ q , q obs3 are the minimum distances between robot q and obstacles 1, 2 and 3. ρ (q , q Target ) is the distance between the robot and the target. These equations along with factor ρ n (q , q Target ) drag the robot towards the nearest target, thus ensuring the robot to be at the global minimum. The total potential { U Total } can be obtained using equation 7.7. For n = 2 and δ = α 1 = α 2 = α 3 = 1, Figures 7.4 to 7.11 shows there is only one minimum exist which is at the target. 160
7.2.4 Robot Navigation
With the help of sensors the robot will detect obstacles around it in the environment. Accordingly the robot will calculate the repulsive navigation forces Front – rear axis (Figure 7.3). Front Wheel of robot Left‐right axis
Right Wheel of robot
Left Wheel of robot Robot
Figure 7.3. Front‐rear axis and Left‐right axis of the robot. ∑F
Front‐rear
= Resultant repulsive navigation force along the direction of front‐rear axis of the robot due to the obstacles which influence the robot. ∑F
Left‐right
= Resultant repulsive navigation force along the direction of left‐
right axis of the robot due to the obstacles which influence the robot. θ = Current heading angle at which the robot moving in the environment. Change in steering angle (Phir [ir]) required for obstacle avoidance is ⎡ F
⎤
Phir [ ir ] = Tan ‐1 ⎢ Front‐rear ⎥ ⎣⎢ FLeft‐right ⎦⎥
(7.14) New heading angle θ new = θ + Phir [ir] (7.15) 161
2.50
Contours of potential field 2.00
1.50
Obstacle‐1 1.00
Obstacle‐2 0.50
0.00
-0.50
Target -1.00
Obstacle‐3 -1.50
-2.00
-2.50
-2.50 -2.00 -1.50 -1.00 -0.50 0.00 0.50 1.00 1.50 2.00 2.50
Figure 7.4. Contour plot for total potential field when the target is located at the (0, 0) along with three obstacles. High value of potential due to Obstacle‐1 High value of potential due to Obstacle‐2 Target
High value of potential
due to Obstacle-3
Figure 7.5. Surface plot for total potential field when the target is located at the (0,0) along with three obstacles. 162
2.50
Contours of potential field 2.00
Obstacle‐2 1.50
1.00
Target 0.50
0.00
-0.50
-1.00
Obstacle‐1 -1.50
Obstacle‐3 -2.00
-2.50
-2.50 -2.00 -1.50 -1.00 -0.50 0.00 0.50 1.00 1.50 2.00 2.50
Figure 7.6. Orthographic projection for total potential field when the target is located at the (0.5, 0.5) along with three obstacles. High value of potential due to Obstacle‐3 High value of potential due to Obstacle‐1 Target High value of potential due to Obstacle‐2 Figure 7.7. Axon metric representation for total potential field when the target is located at the (0.5, 0.5) along with three obstacles. 163
2.50
Obstacle‐1 Obstacle‐2 2.00
1.50
1.00
Obstacle‐4 0.50
0.00
Target
-0.50
-1.00
Contours of potential field -1.50
Obstacle‐3 -2.00
-2.50
-2.50 -2.00 -1.50 -1.00 -0.50 0.00 0.50 1.00 1.50 2.00 2.50
Figure 7.8. Contour plot for total potential field when the target is located at the (0, 0) along with four obstacles. High value of potential due to Obstacle‐1 High value of potential High value of potential due to Obstacle‐2 due to Obstacle‐4 Target High value of Potential due to Obstacle‐3 Figure 7.9. Surface plot for total potential field when the target is located at the (0,0) along with four obstacles. 164
2.50
Obstacle‐1 Obstacle‐2 2.00
1.50
1.00
0.50
0.00
Target -0.50
-1.00
Contours of potential field -1.50
Obstacle‐4 Obstacle‐3 -2.00
-2.50
-2.50 -2.00 -1.50 -1.00 -0.50 0.00 0.50 1.00 1.50 2.00 2.50
Figure 7.10. Orthographic projection for total potential field when the target is located at the (0.5, ‐ 0.5) along with four obstacles. High value of potential due to Obstacle‐1 High value of potential due to Obstacle‐2 High value of potential due to Obstacle‐4 Target High value of potential due to Obstacle‐3 Figure 7.11. Axon metric representation for total potential field when the target is located at the (0.5, ‐0.5) along with four obstacles. 165
7.2.5 Hybrid Potential Field Navigation technique
The potential field navigation technique combined with other tools to yield a hybrid controller. In this thesis potential field navigation technique is integrated with neuro‐fuzzy technique to produce a hybrid one for better navigational performance in highly cluttered environment. The resulting architecture is shown in Figure 7.12. The output of the potential field navigation technique is the initial steering angle. The neural network used here is taken from Chapter‐5 which is a back propagation multi‐layer perceptron having four layers. The input layer has four neurons. Out of the four neurons three are meant to receive the distances of the obstacles in front and to the left and right, where as fourth neuron is for the initial steering angle. The output layer has a single neuron meant to produce the second estimate of steering angle. The output of the neural network i.e., the second estimate steering angle is fed to the fuzzy controller which is discussed in Chapter‐4 along with the information concerning the distances of the obstacles in front and to the left and right of the robot. The output of the fuzzy controller is the velocities of the driving wheels. From the velocities of the driving wheel the steering angle is calculated to avoid obstacles and reach the target. 166
F.O.D. L.O.D. R.O.D.
Second Estimated Output Steering Angle layer First Estimated Steering Angle F.O.D. L.O.D. R.O.D
T.A. Potential Field Controller Input layer Second hidden layer Neural Controller
L.O.D.
Fuzzy Controller R.W.V.
R.O.D.
L.W.V.
F.O.D.
First hidden layer L.O.D. = Left Obstacle Distance
L.W.V. = Left Wheel Velocity R.O.D. = Right Obstacle Distance
R.W.V. = Right Wheel Velocity F.O.D. = Front Obstacle Distance
T.A. = Target Angle
Figure 7.12. Potential‐field‐neuro‐fuzzy controller for navigation of mobile robots. 167
7.3 Demonstrations
The potential field navigation and potential‐field‐neuro‐fuzzy techniques have been implemented in different simulated environments. The environments have been generated artificially containing static obstacles and targets. 7.3.1 Potential Field Navigation Technique
7.3.1.1 Obstacle Avoidance and Target Seeking by Multiple Mobile Robots
This exercise involves forty‐five mobile robots initially assembled into three groups. One target is present in the scenario. The three groups of robots and the target are located in U shaped partitions shown in Figure 7.13. Figure 7.14 depicts the final position, when all the robots have reached target by using potential field navigation technique. Obstacles
Target
Obstacles Fifteen robots
Fifteen robots Obstacles Obstacles
Fifteen robots
Figure 7.13. Environment before starting of simulation when forty‐five robots involve to reach a target using potential field navigation technique. 168
Figure 7.14. Environment after all the forty‐five robots reach the target using potential field navigation technique. 7.3.2 Potential-Field-Neuro-Fuzzy Technique
7.3.2.1 Escape from Dead Ends
Figure 7.15 and 7.16 shows the ability of the robots, which are trapped within the dead ends, able to escape from those dead ends and finds the target. Figure 7.15 shows the situation at the beginning of the exercise. Ten robots are involved in the exercise. Two of the four obstacles are U‐shaped and rest two is rectangular shaped representing a dead end. From Figure 7.16, it can be seen that all the robots that have reside inside have escaped and able to negotiate with dead ends and find the target successfully by using potential‐field‐neuro‐fuzzy technique. 169
Obstacles
Obstacles
Target Obstacles
Ten Robots Obstacles
Figure 7.15. Escape from dead ends by ten mobile potential‐field‐neuro‐fuzzy technique (Initial State). Figure 7.16. Escape from dead ends by fifteen mobile robots using potential‐field‐
neuro‐fuzzy technique (Final State). 170
7.3.2.2 Navigation of Several Mobile Robots
Obstacle avoidance by nine hundred ninety‐six mobile robots using potential‐
field‐neuro‐fuzzy technique is shown in Figures 7.17 and 7.18. Figure 7.17 depicts the starting of the exercise. Figure 7.18 shows the situation after few times the exercise has begun. It can be noted that the robots stay well away from the obstacles as well as from each other. 7.3.2.3 Inter Robot Collision Avoidance
This exercise relates to a problem designed to demonstrate that, the robots do not collide with each other even in a highly cluttered ambience. Figure 7.19 depicts the beginning of the exercise where as Figure 7.20 shows the trajectories of the robots for the potential‐field‐neuro‐fuzzy controller. It can be noted that the robots are able to resolve conflict and avoid one another and reach the target successfully. In this exercise only two robots have been employed for proper visualisation. Robot 1 follows path p‐q‐r‐s‐t‐u‐v‐w‐x‐y‐z and robot 2 follows path a‐b‐c‐d‐e‐f‐g. After getting the start command the robots start searching for target from point ‘a’ and ‘p’. It is clear from the Figure 7.20 that when the robots reaches close to each other i.e., at point ‘b and q’ and ‘d and s’ they change their direction to avoid collision between them. 171
166 robots 166 robots 166 robots 166 robots Obstacle Obstacles
166 robots 166 robots
Obstacle Figure 7.17. Navigation scenario of nine hundred ninety‐six mobile robots using potential‐field‐neuro‐fuzzy technique (Initial State). Figure 7.18. Navigation of one thousand mobile robots using potential‐field‐
neuro‐fuzzy technique (Intermediate State). 172
Obstacles
Obstacles Robot 2
Robot 1 Target Target
Obstacles
Obstacles Figure 7.19. Collision avoidance by two mobile robots using potential‐field‐
neuro‐fuzzy technique (Initial State). w u y c e f z a b p q s d g r
x v t
Figure 7.20. Collision avoidance by two mobile robots using potential‐field‐
neuro‐fuzzy technique (Final State). 173
7.3.2.4 Experimental Validation for Two Mobile Robots with the Simulation
Results
A comparison has been made between the experimental (Figures 7.21 ‐ 7.25) and simulation results (Figure 7.19) for potential‐field‐neuro‐fuzzy technique. From the experiment it is observed that the two real mobile robots follow closely the paths of simulation as shown in Figure 7.20. Figure 7.21. Experimental result for two mobile robots using potential‐field‐
neuro‐fuzzy technique (Initial stage). Figure 7.22. Experimental result for two mobile robots using potential‐field‐
neuro‐fuzzy technique (Intermediate stage ‐ I). 174
Figure 7.23. Experimental result for two mobile robots using potential‐field‐
neuro‐fuzzy technique (Intermediate stage ‐ II). Figure 7.24. Experimental result for two mobile robots using potential‐field‐
neuro‐fuzzy technique (Intermediate stage ‐ III). Figure 7.25. Experimental result for two mobile robots using potential‐field‐
neuro‐fuzzy technique (Final stage). 175
7.4 Comparison between Different Controllers
7.4.1 Simulation Results
This exercise is similar to the exercise demonstrated in Section‐6.5 of Chapter‐6. This section compares the performance between different techniques. An exercise has been devised to compare the performances of the neuro‐fuzzy, potential field navigation and the potential‐field‐neuro‐fuzzy techniques. In all the exercises one robot is located inside four obstacles and one target is located hidden from the robot’s view. Figure 7.26 represents the initial condition of the environment for all the controllers. Figures 7.27 ‐ 7.29 depicts the path traced by the robot using neuro‐fuzzy, potential field navigation and potential‐field‐neuro‐fuzzy techniques respectively. Total path lengths using the neuro‐fuzzy, potential field navigation and potential‐field‐neuro‐fuzzy techniques are measured in pixels for different groups comprising various numbers of robots to reach the target. The path lengths and the search times are taken statistically from one thousand simulation results. The final results are given in Table 7.1. Similarly time taken to reach the target using the neuro‐fuzzy, potential field navigation and potential‐
field‐neuro‐fuzzy techniques are measured for the same number of robots using statistical method. The results are given in Table 7.2. The path lengths and search times provides an objective measure of the performance for different techniques. It can be noted that the potential‐field‐neuro‐fuzzy technique performs the best among the previous discussed techniques. 176
Target
Obstacles One Robot
Obstacles Figure 7.26. Environment for one robot and one target. Recorded path of robot Figure 7.27. Navigation path for one mobile robot to reach target using neuro‐
fuzzy technique. 177
Recorded path of robot Figure 7.28 Navigation path for one mobile robot to reach target using potential field navigation technique. Recorded path of robot
Figure 7.29. Navigation path for one mobile robot to reach target using potential‐
field‐neuro‐fuzzy technique. 178
Number of robots Total path length in pixels using neuro‐
fuzzy technique Total path length in pixels using potential field navigation technique 4 360 410 Total path length in pixels using potential‐field‐
neuro‐fuzzy technique 256 8 715 811 511 10 842 985 599 16 1735 1998 1245 24 2517 2905 1826 40 3594 4079 2584 50 4592 5409 3368 70 9098 10570 6747 Table 7.1. Path lengths using different techniques. 4 10.35 11.71 Total time taken in seconds using potential‐field‐
neuro‐fuzzy technique 7.43 8 20.90 21.15 15.33 10 23.48 27.39 17.22 16 33.12 37.08 23.76 24 54.88 64.03 40.25 40 73.95 122.75 54.23 50 125.71 153.65 92.19 70 207.36 234.40 148.76 Number Total time taken in seconds using neuro‐
of fuzzy technique robots Total time taken in seconds using potential field navigation technique Table 7.2. Time taken to reach the target using different techniques. 179
7.4.1.1 Experiments with single Mobile Robot
Figures 7.30 to 7.34 show the experimental results obtained for potential‐field‐
neuro‐fuzzy technique for a single mobile robot similar to the simulated environment as shown in Figure 7.26. The experimental path follows closely that traced by the robots during simulation (figure 7. 29). It is seen that the robot is successfully able to avoid obstacles and reach the targets. Table 7.3 shows the average times taken by the mobile robots in simulation and experimental modes for obstacle avoidance and target seeking. Figure 7.30. Experimental result for single mobile robot (Khepera II) using potential‐field‐neuro‐fuzzy technique (Initial stage). Figure 7.31. Experimental result for single mobile robot (Khepera II) using potential‐field‐neuro‐fuzzy technique (Intermediate stage ‐ I). 180
Figure 7.32. Experimental result for single mobile robot (Khepera II) using potential‐field‐neuro‐fuzzy technique (Intermediate stage ‐ II). Figure 7.33. Experimental result for single mobile robot (Khepera II) using potential‐field‐neuro‐fuzzy technique (Intermediate stage ‐ III). Figure 7.34. Experimental result for single mobile robot (Khepera II) using potential‐field‐neuro‐fuzzy technique (Final stage). 181
Number of robots 1 2 4 Total time taken during simulation in seconds Potential field Potential field neuro‐fuzzy navigation technique technique 10.86 7.01 11.07 7.21 11.71 7.43 Total time taken during experiment in seconds Potential field Potential field neuro‐fuzzy navigation technique technique 11.75 8.10 12.51 8.16 12.93 8.96 Table 7.3. Time taken by robots in simulation and experiment to reach target (Potential field navigation technique). 7.4.1.2 Experiments with Two Real Mobile Robots
Figures 7.35 to 7.38 demonstrate the activities of the three robots, which are located in a cluttered environment. They reach the target safely without colliding with each other and with the obstacles. Figure 7.35. Target seeking by three mobile robots by using potential‐field‐neuro‐
fuzzy technique (Initial scenario).
182
Figure 7.36. Target seeking by three mobile robots by using potential‐field‐neuro‐
fuzzy technique (Intermediate scenario ‐ I).
Figure 7.37. Target seeking by three mobile robots by using potential‐field‐neuro‐
fuzzy technique (Intermediate scenario ‐ II).
Figure 7.38. All the three mobile robots reach the target by using potential‐field‐
neuro‐fuzzy technique.
183
7.5 Summary
This chapter has described the techniques for controlling the navigation of multiple mobile robots using potential field navigation and potential‐field‐neuro‐
fuzzy techniques in a highly cluttered environment. New repulsive navigation functions have been developed, by considering the shortest distance between the target and the robot. The developed navigation functions ensure that the target is the global minimum of the total navigation field. This technique employs navigation force, which is calculated by taking into account the distances of the obstacles around the robot and the bearing of the target. The direction of the resultant navigation force gives the required steering angle of the robot. With the use of Petri net model the robots are capable of negotiate with each other. It has been seen that, by using potential‐field‐neuro‐fuzzy technique the robots are able to avoid any obstacles (static and moving obstacles), escape from dead ends, and find targets in a highly cluttered environments. Using these techniques nine hundred ninety six mobile robots can navigate successfully without colliding with each other and colliding with obstacles present in the environments. It is observed from the simulation and experimental results, that the potential‐field‐ neuro‐fuzzy technique is the best compared to the neuro‐fuzzy and potential field techniques for navigation of multiple mobile robots. 184
8 Simulated Annealing
8.1 Introduction
This chapter describes potential field navigation technique optimised by simulated annealing technique. In the previous chapter a new potential field function is developed so as to take care of unknown obstacles and targets during navigation. The final aims of the robots are to reach the targets. Local minimum obtained due to potential field can also be avoided by simulated annealing technique. After utilising simulated annealing technique for optimising potential field navigation technique, it is observed that, there is a unique global minimum for an attractive node i.e., target. Afterwards potential field navigation technique being optimised by simulated annealing technique is hybridised with neuro‐
fuzzy technique to improve the navigation of robots in a highly cluttered environment. Part of contents of this chapter has been published in •
“Navigation Technique to control Several Mobile Robots”, International Journal of Knowledge‐Based and Intelligent Engineering Systems, (2006), Vol. – 10 (5), Pages 387 ‐ 401. 185
8.2 Simulated Annealing
Simulated annealing is an analogy with thermodynamics, specifically with the way that liquids freeze and crystallize, or metals cool and anneal. At high temperatures, the molecules of a liquid move freely with respect to one another. If the liquid is cooled slowly, thermal mobility is lost. The atoms are often able to line themselves up and form a pure crystal that is completely ordered over a distance up to billions of times the size of an individual atom in all directions. This crystal is the state of minimum energy for this system. The amazing fact is that, for slowly cooled systems, nature is able to find this minimum energy state. In fact, if a liquid metal is cooled quickly or quenched, it does not reach this state but rather ends up in a polycrystalline or amorphous state having somewhat higher energy. So the essence of the process is slow cooling, allowing ample time for redistribution of the atoms as they lose mobility and ensure a low energy state. Simulated annealing is developed to deal with highly nonlinear problems. Simulated annealing approaches the global maximisation problem (e.g., a bouncing ball that can bounce over mountains from valley to valley). The bouncing ball begins at a high ʺtemperatureʺ which enables the ball to make very high bounces, and make it to bounce over any mountain to access any valley. As the temperature declines the ball cannot bounce so high and it can also settle to become trapped in relatively small ranges of valleys. A generating distribution generates possible valleys or states to be explored. An acceptance distribution is also defined, which depends on the difference between the function value of the present generated valley to be explored and the last saved lowest valley. The acceptance distribution decides probabilistically whether to stay in a new lower 186
valley or to bounce out of it. All the generating and acceptance distributions depend on the temperature. 8.2.1 Simulated Annealing Technique
Simulated annealing’s major advantage over other methods is the ability to avoid becoming trapped in local minima. The requirements for optimisation by simulated annealing are: ¾ A description of robotic environment. ¾ A generator of random changes in the environment; these changes are the “options” presented to the system ¾ An objective function “E” (analog of energy) whose minimization is the target for the robot. ¾ A control parameter “T” (analog of temperature) and an annealing schedule which tells how it is lowered from high to low values, e.g., after how many random changes in environment is each downward step in T taken, and how large is that step. The algorithm employs a random search, which not only accepts changes that decrease the objective function “E” (assuming a minimisation problem), but also some changes that increase it. The latter are accepted with a probability δE⎞
p = exp ⎛⎜
⎟ ⎝ T ⎠
(8.1) Where δ E is the increase in “E” and “T” is a control parameter, which by analogy with the original application is known as the system ʹʹtemperatureʺ irrespective of the objective function involved. The implementation of the basic SA algorithm is straightforward. Figure 8.1 shows the flow chart: 187
Input and Assess Initial Solution Estimate Initial Temperature Generate New Solution Assess New Solution Accept New Solution? Yes Update Stores Update Stores Adjust Temperature No Terminate Search? Yes Stop
Figure 8.1. The structure of the simulated annealing algorithm. 188
No
From the surface and contour plot (Figures 7.4 ‐ 7.11) plotted for different environment in Chapter‐7. It is observed that the new potential functions have only global minimum at the target for n=2. 1.4
Total Potential UTotal 1.2
‐1.5
n=0
1.0
0.8
0.6
0.4
0.2
‐1.0
‐0.5
x
0 Target
0
n = 0.5 n = 0.8 n=1
Obstacle
0.5 Figure 8.2. The Potential Function. From Figure 8.2 the new potential function does not guarantee the global minimum at the target, local minimum still exists. For n = 0, it was observed that a local minimum exist at x = 0.5. Similarly for n = 0.5, n = 0.8 and n = 1 the local minimum found at 0.36, 0.01 and 0.01 of x‐ordinates respectively. This indicates that if the robot moves from the left of that local minimum toward the target, it will trapped at the local minimum though there is no obstacles in between the robot and the target. To overcome the local minimum problem, simulated annealing technique discussed above is used. The simulated annealing algorithm along with potential field method is described below in form of flow chart (Figure 8.3). This algorithm (Figure 8.3) is used to find the global minimum solution in a potential field only when the robot is trapped by local minimum. 189
Using the simulated annealing technique a new position P′ for the robot is chosen randomly from a set of neighbouring positions of the current position P (Figure 8.3). The new solution is accepted unconditionally if the new position has lower potential energy i.e., U (P) ≥ U ( P′ ) or else with the condition e
-
∆
T
< 0.3, where ∆ = U ( P′ ) ‐ U (P). If P′ is not accepted, the algorithm proceeds to the next step by decreasing the temperature at a rate γ. This procedure is repeated until it escapes from the local minimum. After the robot escapes from the minimum, it follows the negative gradient. This procedure is repeated until the target is reached. An algorithm has been developed (Figure 8.4) for finding out the initial temperature T (0). Where Ninit, is the number of performed cycles in the initialization loop, N is the loop index. N+ is the number of steps increasing the total potential function U (x). ∆(+) is the increase in the potential field function. T = ∞, is the constant temperature in the optimisation and s = s0 is the constant variance used in the randomization. 190
S ta rt
Set
P=x and T=T(0)
Set
initia l pos ition
of robot
a nd ta rge t
P ick Ra ndom
Ne ighbourhood, P '
C a lcula tion
of tota l
pote ntia l function
Ca lcula tion of
AP F a t P ' = U(P ')
C a lcula tion
of
S te e ring a ngle
Set
ITRY = ITRY+1
Trapped at
local
minima
Yes
Yes
Escape
from Loca l
Minim a or
T=T(f)
Yes
Is
ITRY>Max Try
?
x
No
No
G o to the
ne w pos ition
No
Re duce
Te m p
ITRY = 1
Go to
New Position
S trore a s Be s t
S olution
Ne w S olution
Yes
No
Is
Engery
Lower
?
Arrived at the
goal position
Is it
Best
Solution
?
Yes
No
Is
Yes
⎛ ∆⎞
⎟
⎝T⎠
-⎜
R a n< e
S top
No
Figure 8.3. Path‐planning algorithm. 191
Yes
No
N = N + = 0, ∆ ( + ) = 0 Randomise P and analyse
T = ∞ s = s o
Is ∆ > 0 ? Yes
No
N = N + 1 Is N < N init ?
Yes
No
Calculate T (O) Figure 8.4. Initialisation algorithm. 192
N + = N + + 1
∆ ( + ) = ∆ ( + ) + ∆
8.2.2 Hybrid Technique
The potential field method optimised by simulated annealing technique gives rise to an efficient navigation technique. This technique is then hybridised with neuro‐fuzzy controller to improve the navigation of robots in highly cluttered environment. The resulting architecture is shown in Figure 8.5. The role of the potential‐
field‐simulated‐annealing controller is to estimate the initial steering angle for the neuro‐fuzzy controller. Then the initial steering angle is fed to neural controller along with the distances of obstacles to the left, to the right and in front of the robot. The neural network used here is a back propagation multilayer perceptron having four layers taken from Chapter‐5. The output of the neural network i.e., the second estimated steering angle is fed to the fuzzy controller along with the distances of the obstacles in front and to the left and right of the robot. Gaussian Membership functions are used in the fuzzy controller, which is discussed in Chapter‐4. The output of the fuzzy controller is to compute the velocities of the driving wheels. From the velocities of the driving wheel the steering angle is calculated to avoid obstacles and reach the target. 193
F.O.D. L.O.D. R.O.D.
Second Estimated Output Steering Angle layer First Estimated Steering Angle F.O.D. L.O.D. R.O.D
T.A. Input layer Potential‐Field‐Simulated‐ Annealing Controller Second hidden layer Neural Controller
F.O.D. = Front Obstacle Distance
L.O.D. = Left Obstacle Distance
R.O.D. = Right Obstacle Distance L.O.D.
Fuzzy Controller R.W.V.
R.O.D.
L.W.V.
F.O.D.
First hidden layer L.W.V. = Left Wheel Velocity R.W.V. = Right Wheel Velocity
T.A. = Target Angle Figure 8.5. Potential‐field‐simulated‐annealing‐neuro‐fuzzy controller for navigation of mobile robots. 194
8.3 Demonstrations 8.3.1 Inter Robot Collision Avoidance
This exercise relates to a problem designed to demonstrate that, the robots do not collide with each other even in a highly cluttered ambience. In this exercise only two robots have been employed for proper visualisation. Figure 8.6 depicts the beginning of the exercise where as Figure 8.7 shows the trajectories of the robots for the potential‐field‐simulated‐annealing‐neuro‐fuzzy technique. It can be noted that the robots are able to resolve conflict and avoid one another and reach the target successfully. It is clear from the Figure 8.7 that when the robots are close to each other they change their direction to avoid collision between them. The path traced by the robot ‘a’ is a‐b‐c‐d‐e and robot ‘p’ follows the path p‐q‐r‐s‐
t‐u‐v‐w. Obstacles Obstacles
Target Robot a
Robot p
Target
Obstacles
Obstacles
Figure 8.6. Inter robot collision avoidance using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Initial scenario). 195
v c
s
w a b
p q e t
r u
d
Figure 8.7. Inter robot collision avoidance using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Final scenario). 8.3.2 Experimental Validation for Two Mobile Robots with the Simulation
Results
Experimental validation of the developed potential‐field‐simulated‐annealing‐
neuro‐fuzzy technique has been done with the simulated path (Figure 8.6) with two mobile robots. From the experiment it is observed that the two real mobile robots follow closely the path of simulation as shown in Figure 8.7. The experimental results are shown in Figures 8.8 ‐ 8.12. 196
Figure 8.8. Experimental result for two mobile robots (Khepera II and Boe‐bot) using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Initial stage). Figure 8.9. Experimental result for two mobile robots using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Intermediate stage ‐ I). Figure 8.10. Experimental result for two mobile robots using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Intermediate stage ‐ II). 197
Figure 8.11. Experimental result for two mobile robots using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Intermediate stage ‐ III). Figure 8.12. Experimental result for two mobile robots (Khepera II and Boe‐bot) using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Final stage). 8.3.3 Escape from Dead Ends
Figure 8.13 shows the beginning of the exercise where eight robots are trapped within the dead ends. Two of the four obstacles are U‐shaped and rests two are rectangular shaped representing the dead ends. It can be seen that all the eight robots, (Figure 8.13) have escaped from the dead ends and find the target successfully (Figure 8.14) by using potential‐field‐simulated‐annealing‐neuro‐
fuzzy technique. 198
Obstacles
Obstacles Eight Robots Target Obstacles Obstacles
Figure 8.13. Escape from of dead ends by using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Initial scenario). Figure 8.14. Escape from dead ends by using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Final scenario). 199
8.3.4 Navigation of Several Mobile Robots
Obstacle avoidance by one thousand mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique is shown in Figure 8.15 and 8.16. Figure 8.15 depicts the starting of the exercise. Figure 8.16 shows the situation after few times the exercise has begun. It can be noted that the robots stay well away from the obstacles and from each other. 200 Robots Obstacles
200 Robots Obstacles
200 Robots Obstacles
200 Robots 200 Robots Figure 8.15. Scenario for navigation of one thousand mobile robots before simulation by using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique. 200
Figure 8.16. Scenario for navigation of one thousand mobile robots by using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique after sometime when simulation started. 201
8.4 Comparison between Different Controllers
8.4.1 Simulation Results
An exercise has been devised to compare the performances of the rule‐based‐
neuro‐fuzzy, potential‐field‐neuro‐fuzzy and potential‐field‐simulated‐
annealing‐neuro‐fuzzy techniques. In the exercise one robot is located inside two rectangular obstacles and two U‐shaped obstacles. A target is present in the environment. Figure 8.17 represents the initial condition of the environment for all the techniques. Figures 8.18 to 8.20 depict the path traced by the robot using rule‐based‐neuro‐fuzzy, potential‐field‐neuro‐fuzzy and potential‐field‐
simulated‐annealing‐neuro‐fuzzy techniques respectively. Total path lengths using rule‐based‐neuro‐fuzzy, potential‐field‐neuro‐fuzzy and potential‐field‐
simulated‐annealing‐neuro‐fuzzy techniques are measured in pixels for four, eight, ten, sixteen, twenty‐four, forty, fifty and seventy mobile robots. The path lengths are taken statistically from one thousand simulation results. The final results are presented in Table 8.1. Similarly time taken to reach the target using rule‐based‐neuro‐fuzzy, potential‐field‐neuro‐fuzzy and potential‐field‐
simulated‐annealing‐neuro‐fuzzy techniques is measured for the same number of robots using statistical method. The results are depicted in Table 8.2. The path lengths and search times are giving an objective measure of the performance for different techniques. It can be noted that the potential‐field‐simulated‐annealing‐
neuro‐fuzzy technique performs the best among the above‐discussed techniques. 202
Obstacles
Target One Robot
Obstacles Figure 8.17. Environment for one robot and one target. Recorded path of robot
Figure 8.18. Navigation path for one mobile robot to reach target using rule‐
based‐neuro‐fuzzy technique. 203
Recorded path of robot Figure 8.19. Navigation path for one mobile robot to reach target using potential‐
field‐neuro‐fuzzy technique. Recorded path of robot Figure 8.20. Navigation path for one mobile robot to reach target using potential‐
field‐simulated‐annealing‐neuro‐fuzzy technique. 204
Number of robots Total path length in pixels using rule‐
based‐neuro‐fuzzy technique Total path length in pixels using potential‐field‐
neuro‐fuzzy technique 4 295 256 Total path length in pixels using potential‐field‐
simulated‐
annealing‐neuro‐
fuzzy technique 216 8 614 511 429 10 679 599 486 16 1465 1245 1098 24 2107 1826 1439 40 3692 2584 2399 50 3994 3368 2862 70 7497 6747 5136 Table 8.1. Path lengths using different techniques. Number of robots Total time taken in seconds using rule‐
based‐neuro‐fuzzy technique Total time taken in seconds using potential‐field‐
neuro‐fuzzy technique 4 8.48 7.43 Total time taken in seconds using potential‐field‐
simulated‐
annealing‐neuro‐
fuzzy technique 6.21 8 18.04 15.33 12.92 10 19.50 17.22 13.32 16 28.52 23.76 19.01 24 45.57 40.25 32.65 40 64.31 54.23 46.08 50 108.46 92.19 92.55 70 182.16 148.76 122.04 Table 8.2. Time taken to reach the target using different techniques.
205
8.4.2 Experiments with Single Real Mobile Robot
Figures 8.21 ‐ 8.25 show the experimental results obtained for potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique for a single robot similar to the simulated environment as shown in Figure 8.17. The experimental path follows closely that traced by the robot during simulation. Table 8.3 shows the average times taken by the robots in simulation and experiment performed for obstacles avoidance and target seeking. Number of robots 1 2 4 Total time taken during simulation in seconds Potential‐field‐
Potential simulated‐
field neuro‐
annealing‐neuro‐
fuzzy fuzzy technique technique 5.90 5.35 7.03 6.01 7.43 6.21 Total time taken during experiment in seconds Potential‐field‐
Potential simulated‐
field neuro‐
annealing‐neuro‐
fuzzy fuzzy technique technique 7.75 7.05 8.63 8.12 9.09 8.72 Table 8.3. Time taken by robots in simulation and experiment to reach target (Simulated annealing). Figure 8.21. Experimental result for one mobile robot (Khepera II) using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Initial stage). 206
Figure 8.22. Experimental result for one mobile robot using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Intermediate stage – I). Figure 8.23. Experimental result for one mobile robot using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Intermediate stage – II). Figure 8.24. Experimental result for one mobile robot (Khepera II) using potential‐field‐ simulated‐annealing‐neuro‐fuzzy technique (Final stage). 207
8.4.3 Experiments with Multiple Mobile Robots
Figures 8.25 ‐ 8.29 show that, three robots which are placed in a line are able to avoid the obstacles and reach the target without colliding with each other. Figures 8.30 ‐ 8.34 and Figures 8.35 ‐ 8.38 demonstrate that all the three robots, which are located in a cluttered environment, reach the target without colliding with each other or colliding with the target. Navigation of four mobile robots are shown in Figures 8.39 ‐ 8.41. It has been observed that the robots are successfully avoid obstacles. Figure 8.25. Collision avoidance by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Initial State). Figure 8.26. Collision avoidance by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate State ‐ I). 208
Figure 8.27. Collision avoidance by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate State ‐ II). Figure 8.28. Collision avoidance by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate State ‐ III). Figure 8.29. Collision avoidance by three robots using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique after all the robots reaches the target. 209
Figure 8.30. Target seeking by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Initial scenario). Figure 8.31. Target seeking by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate scenario ‐ I). Figure 8.32. Target seeking by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate scenario ‐ II). 210
Figure 8.33. Target seeking by three mobile robots using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique (Intermediate scenario ‐ III). Figure 8.34. All the three mobile robots reach the target by using potential‐field‐
simulated‐annealing‐neuro‐fuzzy technique. 211
Figure 8.35. Target seeking by three mobile robots with two targets in the environment using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique (Initial scenario). Figure 8.36. Target seeking by three mobile robots with two targets in the environment using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique (Intermediate scenario ‐ I). 212
Figure 8.37. Target seeking by three mobile robots with two targets in the environment using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique (Intermediate scenario ‐ II). Figure 8.38. Target seeking by three mobile robots with two targets in the environment using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique (Final scenario). 213
Figure 8.39. Navigation of four mobile robots in a cluttered environment using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique (Initial Scenario). Figure 8.40. Navigation of four mobile robots using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Intermediate Scenario ‐ I). Figure 8.41. Navigation of four mobile robots using potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique (Intermediate Scenario ‐ II). 214
8.5 Summary
This chapter has described potential‐field‐simulated‐annealing‐neuro‐fuzzy technique for navigation of multiple mobile robots. It is observed that, by using potential‐field‐simulated‐annealing‐neuro‐fuzzy technique the robots are able to avoid any obstacles (static and moving obstacles), escape from dead ends, and find targets. Using this technique one thousand mobile robots can also navigate successfully without collision with other robots and obstacles present in the environment. It is also concluded from experimental and simulation results that the potential‐field‐simulated‐annealing‐neuro‐fuzzy technique is the best technique for navigation of mobile robots among the above‐discussed techniques. 215
9 Conclusions and Further Work
The main objectives of this thesis work have been to investigate effective techniques for controlling the navigation of multiple mobile robots in a cluttered environment. This chapter summarises the main contributions, conclusions of the present investigations and scope for further works. 9.1 Contributions
¾ From the kinematic analysis of mobile robot; right wheel and left wheel velocities of the mobile robot are calculated. From the wheel velocities, steering angle for the robot is calculated. ¾ Fuzzy logic technique has been developed using three types of membership functions. The fuzzy rules considered for all the three membership functions are deployed for multiple mobile robots. The fuzzy logic controller utilising Gaussian membership function is found best among the three types of membership functions for navigation of multiple mobile robots in an unknown environment. ¾ A neural network technique has been devised for mobile robot navigation. This has been modified to produce a hybrid neuro‐fuzzy technique for enhancing the navigational performance of robots. ¾ A rule‐based controller and a hybrid rule‐based‐neuro‐fuzzy technique also have been realised. The latter yielded the best results of all the techniques discussed in Chapter‐4 and Chapter‐5. ¾ A mathematically based potential field navigation technique has been developed for multiple mobile robot navigation. Hybrid controller based on potential field neuro‐fuzzy technique has been implemented to enhance performance of robot navigation in various unknown scenario. 216
¾ Simulated annealing has been used for escaping from local minima. A hybrid potential‐field‐simulated‐annealing‐neuro‐fuzzy technique has also been developed. This hybrid technique yielded the best results of all the techniques investigated in this research. 9.2 Conclusions
¾ From the simulation and experimental results, it is concluded that the developed simple fuzzy controller with Gaussian membership is able to control the navigation of multiple mobile robots in an unknown cluttered workspace. ¾ The neuro‐fuzzy technique has increased the performance compared to both the neural and fuzzy logic techniques. Similarly the rule‐based‐
neuro‐fuzzy technique performs better than the simple rule‐based technique. ¾ The best performing techniques are based on potential‐field‐simulated‐
annealing‐neuro‐fuzzy technique, which gives robust navigation results in an unknown environment. This technique provides better result than other hybrid techniques developed, namely the neuro‐fuzzy and rule‐
based‐neuro‐fuzzy technique. 9.3 Further Work
The following are suggested for further investigations: ¾ In the current research work, the techniques developed for multiple mobile robot navigation enable the robots to avoid collision among each other and with static obstacles. However, further development of the techniques may be required for the avoidance of moving obstacles other 217
than the robots. These obstacles (e.g. animals, moving equipments etc.) may or may not have sensors mounted on them that are able to communicate with robots. ¾ Co‐ordination between the robots for co‐operative task with static as well as moving obstacles. ¾ Further work needs to be undertaken in the area of optimising the number of robots reaching and handling a particular object. ¾ The navigational techniques developed in this research work are capable of detecting and reaching the static targets. Further modifications in these navigational techniques may be carried out so that the robots can not only detect dynamic targets but also reach them using an optimum path. ¾ Further work with respect to the use of visual sensing may be undertaken to improve the environment perception of mobile robots. This may help to facilitate co‐operation between the robots in an intelligent manner. It may also be used in the context of robot control through the WWW by presenting on‐line pictures of the robot’s work area. Digital cameras with suitable computer interface may be employed for this purpose. ¾ New potential function may be developed to control more number of mobile robots. 218
Appendix – A
Software used for Robot navigation
A.1 Navigation Software
The ‘ROBPATH’ used for navigation demonstrations reported in this research work is developed by the author. The software runs on a PC operating under WINDOWS NT/95/98/2000/XP/Vista. The menus incorporated in the software are described below. A.1.1 Obstacle Menu:
The Obstacle Menu allows the user to draw different types of obstacles in the robots’ environment. The obstacles that can be constructed are shown in Figure a.1. A.1.2 Number of Robot Menu:
Using this menu, a user can draw any number of robots (in between 1 to 1000) as required to be placed in the environment. For example fifteen robots are shown in Figure a.2. A.1.3 Run Menu:
With this menu, the user can choose to run the software in simulation mode or control the navigation of real mobile robots. The menu is given in Figure a.3. A.1.4 Techniques Menu:
This menu enables the user to select the techniques to control the navigation of the robots. The menu is shown in Figure a.3. 219
(a) Boundary of the environment
(c) Circular object (d) Triangular sharp edge object (e) Rectangular object (f) Parallelogram type object (g) Hexagonal type object (b) Wall (Line) (h) U‐shaped objects
Figure a.1. Obstacles. Figure a.2. Fifteen mobile robots. 220
Fuzzy
Neural
Neurofuzzy
Rulebased
Rulebasedneurofuzzy
Navigation field method
Hybrid PEF method
Others
Figure a.3. View of the software (ROBOPATH) front‐end user for navigation of multiple mobile robots. A.1.5 Target Menu:
This menu is for placing targets in the environment. Any number of targets can be Chosen for the robot environment Figure a.3. A.1.6 Manual Command (Parameter Menu):
This menu contains four commands (Figure a.3) a) Start_Again: This command is for re‐starting a process with exiting software. b) Refresh_Screen: This command is for cleaning the screen. It has the same action as clicking the right button on the mouse. 221
c) Robot_Behaviour: This command activates a dialog box that enables the user to select a particular robot and control its movements manually. The dialog box can be seen in Figure a.3. d) Drag_Obs: Using this sub‐menu the user can drag any obstacle to any place in the environment at any time to re‐arrange the cluttered environment. e)
Obs_Delete: By the help of this menu the user can delete any obstacle at any time from the environment. 222
Appendix – B
Petri Net Model
The theory of Petri Nets was developed from the work of Carl Adam Petri in Germany in 1962. He developed a new model for information flow in a communication system [230]. Petri Net model is used as a visual communication aid to model the system behaviour. It is based on strong mathematical foundation. Petri Net is a graphical paradigm for the formal description of the logical interactions among parts or of the flow of activities in complex systems. Petri Net is particularly suited to model: –Concurrency and Conflict; –Sequencing, conditional branching and looping; –Synchronization; –Sharing of limited resources and –Mutual exclusion. B.1 Basic Definitions of Petri Net Model:
A Petri net is a bipartite directed graph consisting of two kinds of nodes: places and transitions [231] (Figure b.1). –Places typically represent conditions within the system being modeled –Transitions represent events occurring in the system that may cause change in the condition of the system –Arcs connect places to transitions and transitions to places but never an arc from a place to a place or from a transition to a transition. In addition to the basic elements of Petri Nets i.e., places, transitions and direct arcs, tokens are included 223
to model the systems. In Petri net theory, places represent status such as operation process, conditions or availability of resources e.g., a robot is ready to move in an environment. Transitions are used to model events i.e., the start and termination of operations. Places contain tokens (denoted by circles) and the distribution of tokens in the place of Petri Net is called its marking. The execution of a Petri net is controlled by the position and movement of these tokens. In a Petri Net model, Petri Net structure (Z) can be defined as a five – tuple [207] Z = (P,T,I,O,m) Where •
P = {p1,p2,……………………..pm} is a finite set of places, m ≥ 0. •
T = {t1,t2,……………………..tn} is a finite set of transitions, n ≥ 0. •
I ⊆ {P X T} is the input function that defines the set of directed arcs from places to transitions. •
O ⊆ {T X P} is the output function that defines the set of directed arcs from transition to places. •
m : P → N is a marking whose component represents the number of tokens in the corresponding place. 224
Place Token Transition Arc Before firing After firing Figure b.1. A simple Petri Net model.
Input arcs are directed arcs drawn from places to transitions, representing the conditions that need to be satisfied for the event to be activated Output arcs are directed arcs drawn from transitions to places, representing the conditions resulting from the occurrence of the event Input places of a transition are the set of places that are connected to the transition through input arcs 225
Output places of a transition are the set of places to which output arcs exist from the transition Tokens are dots (or integers) associated with places; A place containing tokens indicates that the corresponding condition holds Marking of a Petri net is a vector listing the number of tokens in each place of the (
)
net n 1 n 2 n 3 ...........n p , P = of places . When input places of a transition have the required number of tokens, the transition is enabled An enabled transition may fire (event happens) taking a specified number of tokens from each input place and depositing a specified number of tokens in each of its output place. 226
Firing example 2H2 + O2 = 2H2 O H2 2 T
2 H2O O2 Before firing
2 H2 T 2 H2O O2 After firing
Figure b.2. A simple firing example using Petri Net model.
227
Role of a place •
A type of communication medium, like a telephone line, a middleman, or a communication network; •
A buffer: for example, a depot, a queue or a post bin; •
A geographical location, like a place in a warehouse, office or hospital; • A possible state or state condition: for example, the floor where an elevator is, or the condition that a specialist is available. Role of a transition
• An event: for example, starting an operation, the death of a patient, a change seasons or the switching of a traffic light from red to green; • A transformation of an object, like adapting a product, updating a database, or updating a document; • A transport of an object: for example, transporting goods, or sending a file. 228
Role of a token • A physical object, for example a product, a part, a drug, a person; • An information object, for example a message, a signal, a report; • A collection of objects, for example a truck with products, a warehouse with parts, or an address file; • An indicator of a state, for example the indicator of the state in which a process is, or the state of an object; • An indicator of a condition: the presence of a token indicates whether a certain condition is fulfilled. 229
Appendix - C Description of Experimental Mobile Robots
C.1 Khepera II Robot
this thesis, Khepera II, Boe‐Bot, In Hemisson, and Koala robots are used for experimental verification. The Khepera II (Figure c.1) is cylindrical in shape, measuring 5.5 cm in diameter and 3 cm in height. Its small size allows experiments to be performed in a small work area. The basic configuration of the Khepera II is composed of the CPU and the Figure c.1. Khepera II robot. sensory motor boards. It includes two DC motors coupled with incremental sensors, eight analog infrared (IR) proximity sensors, an interface with image sensor and an on‐board power supply. Each IR sensor is composed of an emitter and an independent receiver. The infrared sensors allow absolute ambient light and estimation, by reflection, of the relative position of an object to the robot to be measured. In fact, these estimations give information about the distances between the robot and the obstacles. 230
C.2 Boe-Bot Robot
The Boe‐Bot robot (Figure c.2) is built on a high quality brushed aluminum chassis that provides a sturdy platform for the servomotors and printed circuit board. This robot is rectangular in shape, measuring 14 cm in length 12.5 cm in width and 15.5 cm in height. The rear wheel is a drilled polyethylene ball held in place with a cotter pin. Ultrasonic sensors are mounted for obstacles detections. Image sensors mounted on both the robots are used for target detection. Figure c.2. Boe‐Bot robot. 231
C.3 Hemisson Robot
The Hemisson robot is equipped with several sensors and a programmable 8bit MCU. Its size is 12 cm in diameter and weighs 200 gm. It has two DC motors to drive independently both wheels. The Processor is PIC16F877 (20MHz CPU clock, 8 bit, 8K words program memory). Sensors mounted on the robot are 8 ambient light sensors (infrared), 6 obstacle detection sensors (infrared) and 2 line detection sensors. The power supply is from a standard 9V battery. The robot has serial port for communication with computer (DB9 connector), one TV remote receiver, one Buzzer, four LEDs, four Programmable Switches. The robot is able to avoid obstacles, detect ambient light intensity and follow a line on the floor. Other equipments include programmable LED, buzzer and switches. Figure c.3. Hemisson Robot.
232
C.4 Koala Robot
The Koala robot is a robotic platform for real‐world experiments and is more powerful, and capable of carrying larger accessories than khepera. It rides on 6 wheels having Length: 32 cm, Width: 32 cm, Height: 20 cm and sports stylish bodywork for attractive demonstrations. Its weight is 4 kg with battery 3.6 kg with DC‐DC converter. The processor installed in the koala robot is Motorola 68331 @ 22MHz, RAM is 1Mbyte and ROM is 1Mbyte. Two DC brushed servo motors with integrated incremental encoders (roughly 19 pulses per mm of robot motion) is installed in the robot. The sensors mounted on the robot are 16 Infra‐
red proximity and ambient light sensors, four optional triangulation longer‐
range IR sensors and 6 optional ultrasonic sonar sensors. The maximum payload the robot can take is 3 kg. It has been designed for easy to use, easy to transport, and able to deal with a standard office environment as well as a rough indoor terrain. It is also fully software compatible with Khepera. Figure c.4. Koala Robot
233
Appendix – D
Data Mining Tools See5
Data mining is about extracting patterns from a warehoused data. See5 is data mining software. Some important features of See5 (Figure d.1 and d.2) are described below: •
See5 has been designed to analyse substantial databases containing thousands to hundreds of thousands of records and tens to hundreds of numeric or nominal fields. •
To maximize interpretability, See5 classifiers are expressed as decision trees or sets of if‐then rules, forms that are generally easier to understand than neural networks. •
See5 is easy to use and does not presume advanced knowledge of Statistics or Machine Learning. D.1 See5 Required Following files: D.1.1 Application Files
Every See5 application has a short name called a filestem. All files read or written by See5 for an application have names of the form filestem.extension where filestem identifies the application and extension describes the contents of the file. Here is a summary table (Table d.1) of the extensions used by See5 D.1.2 Names File
The first essential file is the names file (e.g. rule9.names) that describes the attributes and classes. 234
This file concerns credit card applications. All attribute names and values have been changed to meaningless symbols to protect confidentiality of the data. steering angle. | classes left distance : continuous. front distance : continuous. right distance : continuous. target angle : continuous. change in steering angle: ‐2,‐6,‐7,‐9,2,4,6,8,10,16. D.1.3 Data File
The second essential file, the applicationʹs data file (e.g. rule9.data) provides information on the training cases from which See5 will extract patterns. For example, the first five cases from file rule9.data are: 13,30,8,10‐6 13,30,10,11,‐6 13,30,13,11,‐6 13,30,15,12,‐7 13,30,18,12,‐7 Here is the main window of See5 after the rule9 application has been selected (Fig. 19.). The main window of See5 has six buttons on its toolbar. From left to right, they are 235
D.1.3.1
Locate Data
Invokes a browser to find the files for your application, or to change the current application; D.1.3.2
Construct Classifier
Selects the type of classifier to be constructed and sets other options; D.1.3.3
Stop
Interrupts the classifier‐generating process; D.1.3.4
Review Output
Re‐displays the output from the last classifier construction (if any); D.1.3.5
Use Classifier
Interactively applies the current classifier to one or more cases; and D.1.3.6
Cross-Reference
Shows how cases in training or test data relate to (parts of) a classifier and vice versa. These functions can also be initiated from the File menu. The Edit menu facilities changes to the names and costs files after an applicationʹs files have been located. D.1.4 Constructing Classifiers
Once the names, data, and optional files have been set up, everything is ready to use See5. The first step is to locate the date using the Locate Data button on the toolbar (or the corresponding selection from the File menu). Rule9 data has been located in this manner. There are several options that affect the type of classifier that See5 produces and the way that it is constructed. The Construct Classifier 236
button on the toolbar (or selection from the File menu) displays a dialog box shown in Fig. 20 that sets out these classifier construction options. D.1.5 Rulesets
See5 has ability to generate classifiers called rulesets that consist of unordered collections of if‐then rules. Some of the rules given below: Rule 1: left obstacle distance > 18 front obstacle distance <= 12 right obstacle distance > 30 right obstacle distance <= 48 target angle > 12 target angle <= 14 ‐> class ‐7 [0.962] Rule 2: left obstacle distance > 18 front obstacle distance <= 12 right obstacle distance > 30 right distance <= 48 target angle > 14 target angle <= 16 ‐> class ‐9 [0.955] 237
Figure d.1. The main window of See5. Figure d.2. The Main dialog box. 238
names description of the applicationʹs attributes [required] data cases used to generate a classifier [required] test unseen cases used to test a classifier [optional] cases cases to be classified subsequently [optional] costs differential misclassification costs [optional] tree decision tree classifier produced by See5 [output] rules ruleset classifier produced by See5 [output] out report produced when a classifier is generated [output] set settings used for the last classifier [output] Table d.1. Summary table of the extensions used by See5. 239
Appendix – E
Data for Rule-based Controller
The data set used in the algorithm to generate the rules using See 5 software: Each data set comprises of left obstacle distance, front obstacle distance, right obstacle distance, target angle and change in steering angle. 60,60,10,12,‐7 60,60,12,12,‐7 60,60,14,12,‐7 60,60,16,12,‐7 60,60,18,12,‐7 60,60,20,12,‐7 60,60,22,12,‐7 60,60,24,12,‐7 60,60,26,12,‐7 60,60,28,12,‐7 60,60,30,12,‐7 60,60,32,12,‐9 60,60,34,12,‐9 60,60,36,14,‐7 60,60,38,14,‐7 60,60,40,14,‐7 60,60,42,14,‐7 60,60,44,14,‐7 60,60,46,14,‐7 60,60,48,14,‐7 60,60,50,14,‐5 60,60,52,14,‐5 60,60,54,14,‐5 60,60,56,14,‐5 60,60,58,14,‐5 60,60,60,14,‐5 60,60,10,16,‐7 60,60,36,12,‐9 60,60,38,12,‐9 60,60,40,12,‐9 60,60,42,12,‐9 60,60,44,12,‐9 60,60,46,12,‐9 60,60,48,12,‐9 60,60,50,12,‐5 60,60,52,12,‐5 60,60,54,12,‐5 60,60,56,12,‐5 60,60,58,12,‐5 60,60,60,12,‐5 60,60,22,16,‐7 60,60,24,16,‐7 60,60,26,16,‐7 60,60,28,16,‐7 60,60,30,16,‐7 60,60,32,16,‐9 60,60,34,16,‐9 60,60,36,16,‐9 60,60,38,16,‐9 60,60,40,16,‐9 60,60,42,16,‐9 60,60,44,16,‐9 60,60,46,16,‐9 60,60,48,16,‐9 240
60,60,10,14,‐8 60,60,12,14,‐8 60,60,14,14,‐8 60,60,16,14,‐8 60,60,18,14,‐8 60,60,20,14,‐8 60,60,22,14,‐8 60,60,24,14,‐8 60,60,26,14,‐8 60,60,28,14,‐8 60,60,30,14,‐8 60,60,32,14,‐7 60,60,34,14,‐7 60,60,60,16,‐5 60,60,10,20,7 60,60,12,20,7 60,60,14,20,7 60,60,16,20,7 60,60,18,20,7 60,60,20,20,7 60,60,22,20,7 60,60,24,20,7 60,60,26,20,7 60,60,28,20,7 60,60,30,20,7 60,60,32,20,9 60,60,34,20,9 60,60,12,16,‐7 60,60,14,16,‐7 60,60,16,16,‐7 60,60,18,16,‐7 60,60,20,16,‐7 60,60,46,20,9 60,60,48,20,9 60,60,50,20,9 60,60,52,20,9 60,60,54,20,9 60,60,56,20,9 60,60,58,20,9 60,60,60,20,9 60,60,10,22,10 60,60,12,22,10 60,60,14,22,10 60,60,16,22,10 60,60,18,22,10 60,60,20,22,10 60,60,22,22,10 60,60,24,22,10 60,60,26,22,10 60,60,28,22,10 60,60,30,22,10 60,60,56,24,12 60,60,58,24,12 60,60,60,24,12 60,60,10,26,13 60,60,12,26,13 60,60,14,26,13 60,60,16,26,13 60,60,18,26,13 60,60,20,26,13 60,60,22,26,13 60,60,24,26,13 60,60,26,26,13 60,60,50,16,‐5 60,60,52,16,‐5 60,60,54,16,‐5 60,60,56,16,‐5 60,60,58,16,‐5 60,60,32,22,11 60,60,34,22,11 60,60,36,22,11 60,60,38,22,11 60,60,40,22,11 60,60,42,22,11 60,60,44,22,11 60,60,46,22,11 60,60,48,22,11 60,60,50,22,11 60,60,52,22,11 60,60,54,22,11 60,60,56,22,11 60,60,58,22,11 60,60,60,22,11 60,60,10,24,12 60,60,12,24,12 60,60,14,24,12 60,60,16,24,12 60,60,42,26,13 60,60,44,26,13 60,60,46,26,13 60,60,48,26,13 60,60,50,26,13 60,60,52,26,13 60,60,54,26,13 60,60,56,26,13 60,60,58,26,13 60,60,60,26,13 60,60,10,10,5 60,60,12,10,5 241
60,60,36,20,9 60,60,38,29,9 60,60,40,16,‐9 60,60,42,20,9 60,60,44,20,9 60,60,18,24,12 60,60,20,24,12 60,60,22,24,12 60,60,24,24,12 60,60,26,24,12 60,60,28,24,12 60,60,30,24,12 60,60,32,24,12 60,60,34,24,12 60,60,36,24,12 60,60,38,24,12 60,60,40,24,12 60,60,42,24,12 60,60,44,24,12 60,60,46,24,12 60,60,48,24,12 60,60,50,24,12 60,60,52,24,12 60,60,54,24,12 60,60,28,10,5 60,60,30,10,5 60,60,32,10,5 60,60,34,10,5 60,60,36,10,5 60,60,38,10,5 60,60,40,10,5 60,60,42,10,5 60,60,44,10,5 60,60,46,10,5 60,60,48,10,5 60,60,50,10,5 60,60,28,26,13 60,60,30,26,13 60,60,32,26,13 60,60,34,26,13 60,60,36,26,13 60,60,38,26,13 60,60,40,26,13 60,60,14,‐10,5 60,60,16,‐10,5 60,60,18,‐10,5 60,60,20,‐10,5 60,60,22,‐10,5 60,60,24,‐10,5 60,60,26,‐10,5 60,60,28,‐10,5 60,60,30,‐10,5 60,60,32,‐10,5 60,60,34,‐10,5 60,60,36,‐10,5 60,60,38,‐10,5 60,60,40,‐10,5 60,60,42,‐10,5 60,60,44,‐10,5 60,60,46,‐10,5 60,60,48,‐10,5 60,60,50,‐10,5 60,43,60,‐19,‐10 60,41,60,‐19,‐10 60,39,60,‐19,‐10 60,35,60,‐19,‐10 60,33,60,‐19,‐10 60,31,60,‐19,‐10 60,29,60,‐19,‐8 60,27,60,‐19,‐8 60,25,60,‐19,‐8 60,23,60,‐19,‐8 60,60,14,10,5 60,60,16,10,5 60,60,18,10,5 60,60,20,10,5 60,60,22,10,5 60,60,24,10,5 60,60,26,10,5 60,60,52,‐10,5 60,60,54,‐10,5 60,60,56,‐10,5 60,60,58,‐10,5 60,60,60,‐10,5 60,59,60,19,10 60,57,60,19,10 60,55,60,19,10 60,53,60,19,10 60,51,60,19,10 60,49,60,19,10 60,47,60,19,10 60,45,60,19,10 60,43,60,19,10 60,41,60,19,10 60,39,60,19,10 60,37,60,19,10 60,35,60,19,10 60,33,60,19,10 60,53,60,9,18 60,51,60,9,15 60,49,60,9,15 60,47,60,9,15 60,45,60,9,15 60,43,60,9,15 60,41,60,9,15 60,39,60,9,15 60,37,60,9,15 60,35,60,9,15 242
60,60,52,10,5 60,60,54,10,5 60,60,56,10,5 60,60,58,10,5 60,60,60,10,5 60,60,10,‐10,5 60,60,12,‐10,5 60,31,60,19,10 60,29,60,19,10 60,27,60,19,10 60,25,60,19,10 60,23,60,19,10 60,21,60,19,10 60,19,60,19,10 60,17,60,19,10 60,15,60,19,10 60,13,60,19,10 60,11,60,19,10 60,59,60,‐19,‐10 60,57,60,‐19,‐10 60,55,60,‐19,‐10 60,53,60,‐19,‐10 60,51,60,‐19,‐10 60,49,60,‐19,‐10 60,47,60,‐19,‐10 60,45,60,‐19,‐10 60,15,60,9,15 60,13,60,9,15 60,11,60,9,15 60,59,60,30,‐8 60,57,60,30,‐8 60,55,60,30,‐8 60,53,60,30,‐8 60,51,60,30,‐8 60,49,60,30,‐8 60,47,60,30,‐8 60,21,60,‐19,‐8 60,19,60,‐19,‐8 60,17,60,‐19,‐8 60,15,60,‐19,‐8 60,13,60,‐19,‐8 60,11,60,‐19,‐8 60,59,60,9,18 60,57,60,9,18 60,55,60,9,18 60,27,60,30,‐8 60,25,60,30,‐8 60,23,60,30,‐8 60,21,60,30,‐8 60,19,60,30,‐8 60,17,60,30,‐8 60,15,60,30,‐8 60,13,60,30,‐8 60,11,60,30,‐8 60,59,60,‐30,8 60,57,60,‐30,8 60,55,60,‐30,8 60,53,60,‐30,8 60,51,60,‐30,8 60,49,60,‐30,8 60,47,60,‐30,8 60,45,60,‐30,8 60,43,60,‐30,8 60,41,60,‐30,8 60,13,60,40,‐20 60,11,60,40,‐20 60,59,60,‐40,22 60,57,60,‐40,22 60,55,60,‐40,22 60,53,60,‐40,22 60,51,60,‐40,22 60,49,60,‐40,22 60,33,60,9,15 60,31,60,9,15 60,29,60,9,15 60,27,60,9,15 60,25,60,9,15 60,23,60,9,15 60,21,60,9,15 60,19,60,9,15 60,17,60,9,15 60,39,60,‐30,8 60,37,60,‐30,8 60,35,60,‐30,8 60,33,60,‐30,8 60,31,60,‐30,8 60,29,60,‐30,8 60,27,60,‐30,8 60,25,60,‐30,8 60,23,60,‐30,8 60,21,60,‐30,8 60,19,60,‐30,8 60,17,60,‐30,8 60,15,60,‐30,8 60,13,60,‐30,8 60,11,60,‐30,8 60,59,60,40,‐20 60,57,60,40,‐20 60,55,60,40,‐20 60,53,60,40,‐20 60,25,60,‐40,22 60,23,60,‐40,22 60,21,60,‐40,22 60,19,60,‐40,22 60,17,60,‐40,22 60,15,60,‐40,22 60,13,60,‐40,22 60,11,60,‐40,22 243
60,45,60,30,‐8 60,43,60,30,‐8 60,41,60,30,‐8 60,39,60,30,‐8 60,37,60,30,‐8 60,35,60,30,‐8 60,33,60,30,‐8 60,31,60,30,‐8 60,29,60,30,‐8 60,51,60,40,‐20 60,49,60,40,‐20 60,47,60,40,‐20 60,45,60,40,‐20 60,43,60,40,‐20 60,41,60,40,‐20 60,39,60,40,‐20 60,37,60,40,‐20 60,35,60,40,‐20 60,33,60,40,‐20 60,31,60,40,‐20 60,29,60,40,‐20 60,27,60,40,‐20 60,25,60,40,‐20 60,23,60,40,‐20 60,21,60,40,‐20 60,19,60,40,‐20 60,17,60,40,‐20 60,15,60,40,‐20 60,37,60,15,7 60,35,60,15,7 60,33,60,15,7 60,31,60,15,7 60,29,60,15,7 60,27,60,15,7 60,25,60,15,7 60,23,60,15,7 60,47,60,‐40,22 60,45,60,‐40,22 60,43,60,‐40,22 60,41,60,‐40,22 60,39,60,‐40,22 60,37,60,‐40,22 60,35,60,‐40,22 60,33,60,‐40,22 60,31,60,‐40,22 60,29,60,‐40,22 60,27,60,‐40,22 60,49,60,‐15,10 60,47,60,‐15,10 60,45,60,‐15,10 60,43,60,‐15,10 60,41,60,‐15,10 60,39,60,‐15,10 60,37,60,‐15,10 60,35,60,‐15,10 60,33,60,‐15,10 60,31,60,‐15,10 60,29,60,‐15,10 60,27,60,‐15,10 60,25,60,‐15,10 60,23,60,‐15,10 60,21,60,‐15,10 60,19,60,‐15,10 60,17,60,‐15,10 60,15,60,‐15,10 60,13,60,‐15,10 60,35,60,18,‐8 60,33,60,18,‐8 60,31,60,18,‐8 60,29,60,18,‐8 60,27,60,18,‐8 60,25,60,18,‐8 60,59,60,15,7 60,57,60,15,7 60,55,60,15,7 60,53,60,15,7 60,51,60,15,7 60,49,60,15,7 60,47,60,15,7 60,45,60,15,7 60,43,60,15,7 60,41,60,15,7 60,39,60,15,7 60,11,60,‐15,10 60,59,60,23,8 60,57,60,23,8 60,55,60,23,8 60,53,60,23,8 60,51,60,23,8 60,49,60,23,8 60,47,60,23,8 60,45,60,23,8 60,43,60,23,8 60,41,60,23,8 60,39,60,23,8 60,37,60,23,8 60,35,60,23,8 60,33,60,23,8 60,31,60,23,8 60,29,60,23,8 60,27,60,23,8 60,25,60,23,8 60,47,60,‐8,8 60,45,60,‐8,8 60,43,60,‐8,8 60,41,60,‐8,8 60,39,60,‐8,8 60,37,60,‐8,8 244
60,21,60,15,7 60,19,60,15,7 60,17,60,15,7 60,15,60,15,7 60,13,60,15,7 60,11,60,‐15,10 60,59,60,‐15,10 60,57,60,‐15,10 60,55,60,‐15,10 60,53,60,‐15,10 60,51,60,‐15,10 60,23,60,23,8 60,21,60,23,8 60,19,60,23,8 60,17,60,23,8 60,15,60,23,8 60,13,60,23,8 60,11,60,23,8 60,59,60,18,‐8 60,57,60,18,‐8 60,55,60,18,‐8 60,53,60,18,‐8 60,51,60,18,‐8 60,49,60,18,‐8 60,47,60,18,‐8 60,45,60,18,‐8 60,43,60,18,‐8 60,41,60,18,‐8 60,39,60,18,‐8 60,37,60,18,‐8 60,59,60,8,‐8 60,57,60,8,‐8 60,55,60,8,‐8 60,53,60,8,‐8 60,51,60,8,‐8 60,49,60,8,‐8 60,23,60,18,‐8 60,21,60,18,‐8 60,19,60,18,‐8 60,17,60,18,‐8 60,15,60,18,‐8 60,13,60,18,‐8 60,11,60,‐8,8 60,59,60,‐8,8 60,57,60,‐8,8 60,55,60,‐8,8 60,53,60,‐8,8 60,51,60,‐8,8 60,49,60,‐8,8 60,21,60,8,‐8 60,19,60,8,‐8 60,17,60,8,‐8 60,15,60,8,‐8 60,13,60,8,‐8 60,11,60,8,‐8 60,59,60,12,9 60,57,60,12,9 60,55,60,12,9 60,53,60,12,9 60,51,60,12,9 60,49,60,12,9 60,47,60,12,9 60,45,60,12,9 60,43,60,12,9 60,41,60,12,9 60,39,60,12,9 60,37,60,12,9 60,35,60,12,9 33,60,60,10,‐6 32,60,60,10,‐6 31,60,60,10,‐6 30,60,60,10,‐6 60,35,60,‐8,8 60,33,60,‐8,8 60,31,60,‐8,8 60,29,60,‐8,8 60,27,60,‐8,8 60,25,60,‐8,8 60,23,60,‐8,8 60,21,60,‐8,8 60,19,60,‐8,8 60,17,60,‐8,8 60,15,60,‐8,8 60,13,60,‐8,8 60,11,60,‐8,8 60,33,60,12,9 60,31,60,12,9 60,29,60,12,9 60,27,60,12,9 60,25,60,12,9 60,23,60,12,9 60,21,60,12,9 60,19,60,12,9 60,17,60,12,9 60,15,60,12,9 60,13,60,12,9 60,11,60,12,9 59,60,60,10,‐6 58,60,60,10,‐6 57,60,60,10,‐6 56,60,60,10,‐6 55,60,60,10,‐6 54,60,60,10,‐6 53,60,60,10,‐6 14,60,60,10,‐6 13,60,60,10,‐6 12,60,60,10,‐6 11,60,60,10,‐6 245
60,47,60,8,‐8 60,45,60,8,‐8 60,43,60,8,‐8 60,41,60,8,‐8 60,39,60,8,‐8 60,37,60,8,‐8 60,35,60,8,‐8 60,33,60,8,‐8 60,31,60,8,‐8 60,29,60,8,‐8 60,27,60,8,‐8 60,25,60,8,‐8 60,23,60,8,‐8 52,60,60,10,‐6 51,60,60,10,‐6 50,60,60,10,‐6 49,60,60,10,‐6 48,60,60,10,‐6 47,60,60,10,‐6 46,60,60,10,‐6 45,60,60,10,‐6 44,60,60,10,‐6 43,60,60,10,‐6 42,60,60,10,‐6 41,60,60,10,‐6 40,60,60,10,‐6 39,60,60,10,‐6 38,60,60,10,‐6 37,60,60,10,‐6 36,60,60,10,‐6 35,60,60,10,‐6 34,60,60,10,‐6 45,60,60,‐10,7 44,60,60,‐10,7 43,60,60,‐10,7 42,60,60,‐10,7 29,60,60,10,‐6 28,60,60,10,‐6 27,60,60,10,‐6 26,60,60,10,‐6 25,60,60,10,‐6 24,60,60,10,‐6 23,60,60,10,‐6 22,60,60,10,‐6 21,60,60,10,‐6 20,60,60,10,‐6 19,60,60,10,‐6 18,60,60,10,‐6 17,60,60,10,‐6 16,60,60,10,‐6 15,60,60,10,‐6 26,60,60,‐10,7 25,60,60,‐10,7 24,60,60,‐10,7 23,60,60,‐10,7 22,60,60,‐10,7 21,60,60,‐10,7 20,60,60,‐10,7 19,60,60,‐10,7 18,60,60,‐10,7 17,60,60,‐10,7 16,60,60,‐10,7 15,60,60,‐10,7 14,60,60,‐10,7 13,60,60,‐10,7 12,60,60,‐10,7 11,60,60,‐10,7 10,60,60,‐10,7 59,60,60,12,‐8 58,60,60,12,‐8 19,60,60,12,‐8 18,60,60,12,‐8 10,60,60,10,‐6 59,60,60,‐10,7 58,60,60,‐10,7 57,60,60,‐10,7 56,60,60,‐10,7 55,60,60,‐10,7 54,60,60,‐10,7 53,60,60,‐10,7 52,60,60,‐10,7 51,60,60,‐10,7 50,60,60,‐10,7 49,60,60,‐10,7 48,60,60,‐10,7 47,60,60,‐10,7 46,60,60,‐10,7 57,60,60,12,‐8 56,60,60,12,‐8 55,60,60,12,‐8 54,60,60,12,‐8 53,60,60,12,‐8 52,60,60,12,‐8 51,60,60,12,‐8 50,60,60,12,‐8 49,60,60,12,‐8 48,60,60,12,‐8 47,60,60,12,‐8 46,60,60,12,‐8 45,60,60,12,‐8 44,60,60,12,‐8 43,60,60,12,‐8 42,60,60,12,‐8 41,60,60,12,‐8 40,60,60,12,‐8 39,60,60,12,‐8 50,60,60,‐12,8 49,60,60,‐12,8 246
41,60,60,‐10,7 40,60,60,‐10,7 39,60,60,‐10,7 38,60,60,‐10,7 37,60,60,‐10,7 36,60,60,‐10,7 35,60,60,‐10,7 34,60,60,‐10,7 33,60,60,‐10,7 32,60,60,‐10,7 31,60,60,‐10,7 30,60,60,‐10,7 29,60,60,‐10,7 28,60,60,‐10,7 27,60,60,‐10,7 38,60,60,12,‐8 37,60,60,12,‐8 36,60,60,12,‐8 35,60,60,12,‐8 34,60,60,12,‐8 33,60,60,12,‐8 32,60,60,12,‐8 31,60,60,12,‐8 30,60,60,12,‐8 29,60,60,12,‐8 28,60,60,12,‐8 27,60,60,12,‐8 26,60,60,12,‐8 25,60,60,12,‐8 24,60,60,12,‐8 23,60,60,12,‐8 22,60,60,12,‐8 21,60,60,12,‐8 20,60,60,12,‐8 31,60,60,‐12,8 30,60,60,‐12,8 17,60,60,12,‐8 16,60,60,12,‐8 15,60,60,12,‐8 14,60,60,12,‐8 13,60,60,12,‐8 12,60,60,12,‐8 11,60,60,12,‐8 10,60,60,12,‐8 59,60,60,‐12,8 58,60,60,‐12,8 57,60,60,‐12,8 56,60,60,‐12,8 55,60,60,‐12,8 54,60,60,‐12,8 53,60,60,‐12,8 52,60,60,‐12,8 51,60,60,‐12,8 12,60,60,‐12,8 11,60,60,‐12,8 10,60,60,‐12,8 59,60,60,14,‐6 58,60,60,14,‐6 57,60,60,14,‐6 56,60,60,14,‐6 55,60,60,14,‐6 54,60,60,14,‐6 53,60,60,14,‐6 52,60,60,14,‐6 51,60,60,14,‐6 50,60,60,14,‐6 49,60,60,14,‐6 48,60,60,14,‐6 47,60,60,14,‐6 46,60,60,14,‐6 45,60,60,14,‐6 44,60,60,14,‐6 48,60,60,‐12,8 47,60,60,‐12,8 46,60,60,‐12,8 45,60,60,‐12,8 44,60,60,‐12,8 43,60,60,‐12,8 42,60,60,‐12,8 41,60,60,‐12,8 40,60,60,‐12,8 39,60,60,‐12,8 38,60,60,‐12,8 37,60,60,‐12,8 36,60,60,‐12,8 35,60,60,‐12,8 34,60,60,‐12,8 33,60,60,‐12,8 32,60,60,‐12,8 43,60,60,14,‐6 42,60,60,14,‐6 41,60,60,14,‐6 40,60,60,14,‐6 39,60,60,14,‐6 38,60,60,14,‐6 37,60,60,14,‐6 36,60,60,14,‐6 35,60,60,14,‐6 34,60,60,14,‐6 33,60,60,14,‐6 32,60,60,14,‐6 31,60,60,14,‐6 30,60,60,14,‐6 29,60,60,14,‐6 28,60,60,14,‐6 27,60,60,14,‐6 26,60,60,14,‐6 25,60,60,14,‐6 247
29,60,60,‐12,8 28,60,60,‐12,8 27,60,60,‐12,8 26,60,60,‐12,8 25,60,60,‐12,8 24,60,60,‐12,8 23,60,60,‐12,8 22,60,60,‐12,8 21,60,60,‐12,8 20,60,60,‐12,8 19,60,60,‐12,8 18,60,60,‐12,8 17,60,60,‐12,8 16,60,60,‐12,8 15,60,60,‐12,8 14,60,60,‐12,8 13,60,60,‐12,8 24,60,60,14,‐6 23,60,60,14,‐6 22,60,60,14,‐6 21,60,60,14,‐6 20,60,60,14,‐6 19,60,60,14,‐6 18,60,60,14,‐6 17,60,60,14,‐6 16,60,60,14,‐6 15,60,60,14,‐6 14,60,60,14,‐6 13,60,60,14,‐6 12,60,60,14,‐6 11,60,60,14,‐6 10,60,60,‐14,10 59,60,60,‐14,10 58,60,60,‐14,10 57,60,60,‐14,10 56,60,60,‐14,10 55,60,60,‐14,10 54,60,60,‐14,10 53,60,60,‐14,10 52,60,60,‐14,10 51,60,60,‐14,10 50,60,60,‐14,10 49,60,60,‐14,10 48,60,60,‐14,10 47,60,60,‐14,10 46,60,60,‐14,10 45,60,60,‐14,10 44,60,60,‐14,10 43,60,60,‐14,10 42,60,60,‐14,10 41,60,60,‐14,10 40,60,60,‐14,10 39,60,60,‐14,10 38,60,60,‐14,10 37,60,60,‐14,10 48,60,60,16,‐10 47,60,60,16,‐10 46,60,60,16,‐10 45,60,60,16,‐10 44,60,60,16,‐10 43,60,60,16,‐10 42,60,60,16,‐10 41,60,60,16,‐10 40,60,60,16,‐10 39,60,60,16,‐10 38,60,60,16,‐10 37,60,60,16,‐10 36,60,60,16,‐10 35,60,60,16,‐10 34,60,60,16,‐10 33,60,60,16,‐10 32,60,60,16,‐10 36,60,60,‐14,10 35,60,60,‐14,10 34,60,60,‐14,10 33,60,60,‐14,10 32,60,60,‐14,10 31,60,60,‐14,10 30,60,60,‐14,10 29,60,60,‐14,10 28,60,60,‐14,10 27,60,60,‐14,10 26,60,60,‐14,10 25,60,60,‐14,10 24,60,60,‐14,10 23,60,60,‐14,10 22,60,60,‐14,10 21,60,60,‐14,10 20,60,60,‐14,10 19,60,60,‐14,10 18,60,60,‐14,10 29,60,60,16,‐10 28,60,60,16,‐10 27,60,60,16,‐10 26,60,60,16,‐10 25,60,60,16,‐10 24,60,60,16,‐10 23,60,60,16,‐10 22,60,60,16,‐10 21,60,60,16,‐10 20,60,60,16,‐10 19,60,60,16,‐10 18,60,60,16,‐10 17,60,60,16,‐10 16,60,60,16,‐10 15,60,60,16,‐10 14,60,60,16,‐10 13,60,60,16,‐10 248
17,60,60,‐14,10 16,60,60,‐14,10 15,60,60,‐14,10 14,60,60,‐14,10 13,60,60,‐14,10 12,60,60,‐14,10 11,60,60,‐14,10 10,60,60,‐14,10 59,60,60,16,‐10 58,60,60,16,‐10 57,60,60,16,‐10 56,60,60,16,‐10 55,60,60,16,‐10 54,60,60,16,‐10 53,60,60,16,‐10 52,60,60,16,‐10 51,60,60,16,‐10 50,60,60,16,‐10 49,60,60,16,‐10 10,60,60,16,‐10 59,60,60,18,8 58,60,60,18,8 57,60,60,18,8 56,60,60,18,8 55,60,60,18,8 54,60,60,18,8 53,60,60,18,8 52,60,60,18,8 51,60,60,18,8 50,60,60,18,8 49,60,60,18,8 48,60,60,18,8 47,60,60,18,8 46,60,60,18,8 45,60,60,18,8 44,60,60,18,8 31,60,60,16,‐10 30,60,60,16,‐10 41,60,60,18,8 40,60,60,18,8 39,60,60,18,8 38,60,60,18,8 37,60,60,18,8 36,60,60,18,8 35,60,60,18,8 34,60,60,18,8 33,60,60,18,8 32,60,60,18,8 31,60,60,18,8 30,60,60,18,8 29,60,60,18,8 28,60,60,18,8 27,60,60,18,8 26,60,60,18,8 25,60,60,18,8 12,60,60,16,‐10 11,60,60,16,‐10 24,60,60,18,8 23,60,60,18,8 22,60,60,18,8 21,60,60,18,8 20,60,60,18,8 19,60,60,18,8 18,60,60,18,8 17,60,60,18,8 16,60,60,18,8 15,60,60,18,8 14,60,60,18,8 13,60,60,18,8 12,60,60,18,8 11,60,60,18,8 10,60,60,18,8 59,60,60,‐18,8 58,60,60,‐18,8 249
43,60,60,18,8 42,60,60,18,8 57,60,60,‐18,8 56,60,60,‐18,8 55,60,60,‐18,8 54,60,60,‐18,8 53,60,60,‐18,8 52,60,60,‐18,8 51,60,60,‐18,8 50,60,60,‐18,8 49,60,60,‐18,8 48,60,60,‐18,8 47,60,60,‐18,8 46,60,60,‐18,8 45,60,60,‐18,8 44,60,60,‐18,8 43,60,60,‐18,8 42,60,60,‐18,8 References
[1] Nilsson N. J., “Shakey the Robot”, SRI International, Technical Note 323, CA, 1984. [2] Cameron S., and Probert P., “Advanced Guided Vehicles Aspects of the Oxford AGV Project”, World Scientific, London, 1994. [3] Brooks R. A., “A Robust Layred Control System for a Mobile Robot”, IEEE Transction on Robotics and Automation, 1986, Number 2 (1), pp. 14 – 23. [4] Trullier O., Wiener S. I., and Berthoz A., “Biologically based artificial navigation systems: review and prospects”, Progress in Neurobiology, 1997, Number 51(5), pp. 483 – 544. [5] Levitt T. S., and Lawton D. T., “Qualitative navigation for mobile robots”, Artificial Intelligence, 1990, Vol. 44, pp. 305 – 360. [6] Feng L., Borenstein J., and Everett H. R., “Where am I? Sensors and methods for autonomous mobile robot positioning”, Technical Report, University of Michigan, MI, 1994. [7] Crowley J.L., and Coutaj J., “Navigation et modelisation pour un robot mobile”, Technique et Science Informatiques, 1986, Number 5(5), pp. 391 – 402. [8] Borenstein J., and Koren Y., “Noise reflection for ultrasonic sensors in mobile robot application”, IEEE Conference on Robotics and Automation, Nice, France, 1992, pp. 1727 – 1732. [9] Borenstein J., and Koren Y., “Error eliminating rapid ultrasonic firing ultrasonic firing for mobile robot obstacle avoidance”, IEEE Transactions on Robotics and Automation, 1995, Vol. 11(1), pp. 132 – 138. 250
[10] Borenstein J., “Internal correction of dead‐reckoning errors with a dual‐
drive compliant linkage mobile robot”, Journal of Robotic Systems, 1995, Vol. 12(4), pp. 257 – 273. [11] Racz J., and Dubrawski A., “Artificial neural‐network for mobile robot topological localisation”, Robotics and Autonomous Systems, 1995, Vol. 16(1), pp. 73 – 80. [12] Cerulli R., Festa P., Raiconi G., and Visciano G., “The action technique for the sensor based navigation planning of an autonomous mobile robot”, Journal of intelligent and Robotic Systems, 1998, Vol. 21(44), pp. 373 – 395. [13] Buchberger M., Jorg K., and Puttkamer E. V., “Laserradar and sonar based world modeling and motion control for fast obstacle avoidance of the autonomous mobile robot MOBOT‐IV”, IEEE Conference on Robotics and Automation, Atlanta, Georgia, 1993, pp. 534 – 540. [14] Tsoukalas L. H., Houstics E. N., and Jones G. V., “Neurofuzzy motion planners for intelligent robots”, Journal of intelligent and Robotic Systems, 1997, Vol. 19(3), pp. 339 – 356. [15] Lozana‐Perez T., and Wesley M. A., “An algorithm for planning collision free paths among polyhedral obstacles”, ACM22, 1979, Number 10, pp. 560 – 570. [16] Khatib O., “Real‐time obstacle avoidance for manipulators and mobile robots”, ” IEEE Conference on Robotics and Automation, 1985, pp. 500 – 505. [17] Guldner J., Utkin V. I., and Hushimoto H., “Robot obstacle avoidance in n‐
dimensional space using planar harmonic artificial potential fields”, ASME Transactions, Journal of Dynamic Systems Measurement and Control, 1997, Vol. 19(2), pp. 160 – 166. 251
[18] Shkel A. M., and Lumelsky V. J., “The joggers problem: Control of dynamics in real‐time motion planning”, Automatica, 1997, Vol. 33(7), pp. 1219 – 1233. [19] Luo R. C., and Kay M. G., “Multisensor integration and fusion in intelligent system”, IEEE Transactions on Systems, Man and Cybernetics, 1989, Vol. 19(5), pp. 901 – 931. [20] Lin I. S., Wallner F., and Dillmann R., “Interactive control and environment modelling for a mobile robot based on multi sensor perceptions”, Robotics and Autonomous Systems, 1996, Vol. 18(3), pp. 301 – 310. [21] Fox D., Burgard W., and Thrun S., “The dynamic window approach to collision avoidance”, IEEE Robotics and Automation Magazine, 1997, Vol. 4(1), pp. 23 – 33. [22] Yamamoto Y., and Yun X., “Coordinating Locomotion and Manipulation of a Mobile Manipulator”, IEEE Transactions on Robotics and Automation, 1994, Vol. 39, pp. 1326–1332. [23] Seraji H., “A Unified Approach to Motion Control of Mobile Manipulators”, The International Journal of Robotics Research, 1998, Vol. 17(2), pp. 107‐118. [24] Huang Q., Tanie K., and Sugano S., “Coordinated Motion Planning for a Mobile Manipulator Considering Stability and Manipulation”, The International Journal of Robotic Research, 2000, Vol. 19 (8), pp. 732 – 742. [25] Tchon K., and Muszynski R., “Instantaneous Kinematics and Dexterity of Mobile Manipulators”, 2000, IEEE International Conference on Robotics and Automation, pp. 2493–2498. 252
[26] K. Tchon, J. Jakubiak, and R. Muszynski, “Kinematics of Mobile Manipulators: A Control Theoretic Perspective”, Archives of Control Science, 2001, Vol. 11, pp. 195–221. [27] K. Tchon, J. Jakubiak, and R. Muszynski, “Doubly Nonholonomic Mobile Manipulators”, 2000, IEEE International Conference on Robotics and Automation, Vol. 5, pp. 4590 – 4595. [28] Alexander J.C., and Maddocks J.H. “On the Kinematics of Wheeled Mobile Robots”, The International Journal of Robotics Research, 1989, Vol. 8(5), pp. 15‐27. [29] Muir P.F., and Neuman C.P., “Kinematic Modeling of Wheeled Mobile Robots”, Journal of Robotic Systems, 1987, Vol. 4(2), pp. 281 – 340. [30] Tsuchiya K., Urakubo T., and Tsujita K., “A Motion Control of a Two‐
Wheeled Mobile Robot”, IEEE International Conference on Systems, Man, and Cybernetics, 1999, Vol. 5, pp. 690 – 696. [31] Mester G., “Motion Control of Wheeled Mobile Robots”, 4th Serbian‐
Hungarian Joint Symposium on Intelligent Systems, 2006, pp. 119 – 130. [32] Hwang Y. K., and Ahuja N., “Gross Motion Planning ‐ A Survey”, ACM Computing Surveys, 1992, Vol. 24(3), pp. 219 ‐ 291. [33] Chakraborty N., and Ghosal A., “Kinematics of Wheeled Mobile Robots on Uneven Terrain”, Mechanism and Machine Theory, 2004, Vol. 39, pp. 1273 – 1287. [34] Latombe J.C., “Robot Motion Planning, Boston”, MA, USA: Kluwer Academic Publishers, 1991. 253
[35] Fraichard T., and Garnier P., “A fuzzy Motion Controller for a Car‐like Vehicle”, IEEE‐RSJ International Conference on Intelligent Robots and Systems, 1996, Vol. 3, pp. 1171–1178. [36] Zadeh L. A., “Fuzzy Sets”, Journal of Information and Control, 1965, Vol. 8, pp. 338 – 353. [37] Mamdani E. H., and Assilian S., “An Experiment in Linguistic Synthesis with a Fuzzy Logic Controller”, International Journal of Man Machine Studies, 1975, Vol. 7(1), pp. 1‐13. [38] Kickert W.J.M., and Mamdani E. H., “Analysis of a Fuzzy Logic Controller”, Fuzzy Set and Systems, 1978, Vol. 12, pp. 29‐44. [39] Lacroix S., Chatila R., Fleury S. Herrb M. and Simeon T., “Autonomous Navigation in Outdoor Environment: Adaptive Approach and Experiment”, IEEE International Conference on Robotics and Automation, 1994, Vol. 1, pp. 426‐432. [40] Goldberg S. B., Maimone M. W., and Matthies L. H., “Stereo Vision and Rover Navigation Software for Planetary Exploration”, IEEE Aerospace Conference, 2002, Vol. 5, pp. 2025‐2036. [41] Singh S., Simmons R., Smith T., Stentz A., Verma V., Yahja A., and Schwehr K., “Recent Progress in Local and Global Traversability for Planetary Rovers”, IEEE International Conference on Robotics and Automation, 2000, Vol. 2, pp. 1194 ‐1200. [42] Langer D., Rosenblatt J. K., and Hebert M., “A behavior‐based system for off‐road navigation”, IEEE Transactions on Robotics and Automation, 1994, Vol. 10, pp. 776‐783. 254
[43] Seraji H., and Howard A., “Behavior‐based robot navigation on challenging terrain: A fuzzy logic approach”, IEEE transactions on robotics and automation, 2002, Vol. 18(3), pp. 308‐321. [44] Li S. Tzuu‐Hseng and Chang S. J., “Autonomous fuzzy parking control of a car‐like mobile robot”, IEEE Transactions on Systems, Man, and Cybernetics, 2003, Vol. 33(4), pp. 451 ‐ 465. [45] Li S. Tzuu‐Hseng, Chang S. J. and Chen Yi‐Xiang, “Implementation of human‐like driving skills by autonomous fuzzy behavior control on an FPGA‐based car‐like mobile robot”, IEEE Transactions on Industrial Electronics, 2003, Vol. 50(5), pp. 867 ‐ 880. [46] Baturone H., Francisco J., Moreno‐Velo, Santiago Sanchez‐Solano, and Ollero A., “Automatic design of fuzzy controllers for car‐like autonomous robots”, IEEE Transactions on Fuzzy Systems, 2004, Vol. 12(4), pp. 447 ‐ 464. [47] Ohkita M., Miyata H., and Miura M., “Travelling experiment of an autonomous mobile robot for a flush parking”, IEEE International conference on fuzzy systems, 1993, pp. 327 – 332. [48] Zhao Y., and Collins Jr. E. G., “Robust automatic parallel parking in tight spaces via fuzzy logic”, Robotics and Autonomous Systems, 2005, Vol. 51, pp. 111–127. [49] Maeda M., Shimakawa M., and Murakami S., “Predictive fuzzy control of an autonomous mobile robot with forecast learning function”, Fuzzy Sets and Systems, 1995, Vol. 72(1), pp. 51‐60. [50] Joo Y. H., Hwang H. S., Kim K. B., and Woo K. B., “Fuzzy system modeling by fuzzy partition and GA hybrid schemes”, Fuzzy Sets and Systems, 1997, Vol. 86(3), pp. 279‐288. 255
[51] Montaner M. B., and Ramirez‐Serrano A., “Fuzzy knowledge‐based controller design for autonomous robot navigation”, Expert Systems with Applications, 1998, Vol. 14 (1‐2), pp. 179‐186. [52] Iwakoshi Y., Furuhashi T., and Uchikaw Y., “A Fuzzy classifier system for evolutionary learning of robot behaviors”, Applied Mathematics and Computation, 1998, Vol. 91(1), pp. 73‐81. [53] Li S. Tzuu‐Hseng, Chang S. J., and Tong W., “Fuzzy target tracking control of autonomous mobile robots by using infrared sensors”, IEEE Transactions on Fuzzy Systems, Vol. 12, No. 4, 2004, pp. 491 ‐ 501. [54] Xu W. L., Tso S. K., and Fung Y. H., “Fuzzy reactive control of a mobile robot incorporating a real/virtual target switching strategy”, Robotics and Autonomous Systems, 1998, Vol. 23, pp. 171‐186. [55] Toda M., Kitani O., Okamoto T., and Torii T., “Navigation method for a mobile robot via sonar‐based crop row mapping and fuzzy logic control”, Journal of Agricultural Engineering Research, 1999, Vol. 72 (4), pp. 299 ‐ 309. [56] Rigatos G. G., Tzafestas C. S., and Tzafestas S.G., “Mobile robot motion control in partially unknown environments using a sliding‐mode fuzzy‐
logic controller”, Robotics and Autonomous Systems, 2000, Vol. 33, pp. 1 – 11. [57] Das T., and Kar I. N., “Design and implementation of an adaptive fuzzy logic‐based controller for wheeled mobile robots”, IEEE Transactions on Control Systems Technology, May 2006, Vol. 14 (3), pp. 501‐510. [58] Lee T‐L., and Wu C‐J., “Fuzzy motion planning of mobile robots in unknown environments”, Journal of Intelligent and Robotic Systems, 2003, Vol. 37(2), pp. 177 – 191. 256
[59] Vadakkepat P., Miin O. C., Peng X., and Lee T. H., “Fuzzy behavior‐based control of mobile robots”, IEEE Transactions on Fuzzy Systems, 2004, Vol. 12 (4), pp. 559‐564. [60] Yang X., Moallem M., and Patel R.V., “A sensor‐based navigation algorithm for a mobile robot using fuzzy logic”, International Journal of Robotics and Automation, 2006, Vol. 21(2), pp. 129‐140. [61] Kodagoda K. R. S., Wijesoma W. S., and Teoh E. K., “Fuzzy speed and streering control of an AGV”, IEEE Transactions on Control Systems Technology, 2002, Vol. 10(1), pp. 112 – 120. [62] Fukuda T., and Kubota N., “An intelligent robotic system based on a fuzzy approach”, Proceedings of the IEEE, 1999, Vol. 87, pp. 1448 ‐ 1470. [63] Castellano G., Attolico S., and Distante A., “Automation generation of fuzzy rules for reactive robot controllers”, Robotics and Autonomous Systems, 1997, Vol. 22, pp. 133 – 149. [64] Castellano G., Attolico G., Stella. E., and Distante A., “Reactive navigation by fuzzy control”, Fifth IEEE International Conference on Fuzzy Systems, 1996, Vol. 3, pp. 2143‐2149. [65] Benreguieg M., Hoppenot P., Maaref H., Colle E., and Barret C, “Fuzzy navigation strategy: application to two distinct autonomous mobile robots”, Robotica, 1997, Vol. 15, pp. 609‐615. [66] Goodridge S. G., and Kay G. M., “Multilayred fuzzy behavior fusion for real‐time reactive control of systems with multiple sensors”, IEEE Transactions on Industrial Electronics, 1996, Vol. 43(3), pp. 387 – 394. 257
[67] Miyata H., Ohki M., Yokouchi Y., and Ohkita M., “Control of the autonomous mobile robot DREAM ‐1 For a parallel parking”, Mathematics and Computers in Simulation, 1996, Vol. 41, pp. 129 –138. [68] Yen J., and Pfluger N., “A fuzzy logic based extension to payton and rosenblatt’s command fusion method for mobile robot navigation”, IEEE Transactions on Systems, Man, and Cybernetics, 1995, Vol. 25(6), pp. 971‐978. [69] Beom R. H., and Cho S. H., “A sensor‐based navigation for a mobile robot using fuzzy logic and reinforcement learning”, IEEE Transactions on Systems, Man, and Cybernetics, 1995, Vol. 25(3), pp. 464 ‐ 477. [70] Beaufrere B., and Zeghloul S., “A mobile robot navigation method using a fuzzy logic approach”, Robotica, 1995, Vol. 13, pp. 437 – 448. [71] Fu Y., Li H., Xu H., Wang S., and Ma Y., “Parallel Double‐layered Fuzzy Control System of Autonomous Robot in Unknown Environment”, Systems and Control in Aerospace and Astronautics, ISSCA 1st International Symposium, 19‐21 January 2006, pp. 514 ‐ 519. [72] Carinena P., Reguriro C. V., Otero A., Bugarin A. J., and Barro S., “Landmark detection in mobile robotics using fuzzy temporal rules”, IEEE Transactions on Fuzzy Systems, 2004, Vol. 12(4), pp. 423 ‐ 433. [73] Mucientes M., Lglesias R., Regueiro C. V., Carifiena P., and Barro S., “Fuzzy temporal rules for mobile robot guidance in dynamic environment”, IEEE Transactions on Fuzzy Systems, 2001, Vol. 31(3), pp. 391 ‐ 398. [74] Liu K., and Lewis F. L., “Fuzzy logic based navigation and maneuvering for a mobile robot system”, IEEE Mediterranean Symposium New Directions in Control and Automation, 1994, pp. 555‐562. 258
[75] Pratihar D. K., and Bibel W., “Near‐optimal, collision‐free path generation for multiple robots working in the same workspace using a genetic‐fuzzy systems”, Machine Intelligence and Robotic Control, 2003, Vol. 5(2), pp. 45—
58. [76] Aguirre E., and Gonzalez A., “Fuzzy behaviors for mobile robot navigation: design, coordination and fusion”, International Journal of Approximate Reasoning, 2000, Vol. 25, pp. 255‐289. [77] Tanaka K., Kosaki T., and Wang H. O., “Backing control problem of a mobile robot with multiple trailers: fuzzy modeling and LMI‐based design”, IEEE Transactions on Systems, Man, and Cybernetics, 1998, Vol. 28(3), pp. 329 ‐ 337. [78] Demirli K., and Molhim M., “Fuzzy dynamic localization for mobile robots”, Fuzzy Sets and Systems, 2004, Vol. 144, pp. 251–283. [79] Mucientes M., Moreno D. L., Bugarin A., and Barro S., “Design of a fuzzy controller in mobile robotics using genetic algorithms”, Applied Soft Computing, 2007, Vol. 7 (2), pp. 540 – 546. [80] Khatib‐Al M., and Saade J. J., “An efficient data‐driven fuzzy approach to the motion planning problem of a mobile robot”, Fuzzy Sets and Systems, 2003, Vol. 134, pp. 65–82. [81] Abdessemed F., Benmahammed K., and Monacelli E., “A fuzzy‐based reactive controller for a non‐holonomic mobile robot”, Robotics and Autonomous Systems, 2004, Vol. 47, pp. 31–46. [82] Godjevac J., “Fuzzy systems and neural networks”, Intelligent Automation and Soft Computing, 1998, Vol. 4(1), pp. 27 – 37. 259
[83] Peterson J.L., “Petri Net theory and the Modelling of Systems”, 1981, (Prentice‐Hall, Englewood Cliff.N.J.) [84] Haykin S., “Neural Networks A Comprehensive Foundation” 1999, Second edition, International Edition, Prentice Hall International, Inc., Printed in the United States of America. [85] Bolt G. R., “Fault Tolerance in Artificial Neural Networks”, D. Phil Thesis, York University, Ontario, 1992. [86] Tani J., and Fukumura N., “Learning Goal‐Directed Sensory‐Based Navigation of a Mobile Robot”, Neural Networks, 1994, Vol. 7(3), pp. 553‐
563. [87] Tani J., and Fukumura N., “Embedding Task‐Based Behavior into Internal Sensory‐Based Attraction Dynamics in Navigation of a Mobile Robot”, IEEE International Conference of Intelligent Robots and Systems, 1994, pp. 886 ‐ 893. [88] Tani J., and Fukumura N., “Embedding a Grammatical Description in Deterministic Chaos, An Experiment in Recent Neural Learning”, Biological Cybernetics, 1995, Vol. 72, pp. 365 ‐ 370. [89] Tani J., and Fukumura N., “Self‐organizing Internal Representation in Learning of Navigation: A Physical Experiment by the Mobile Robot YAMABICO”, Neural Network, 1997, Vol. 10(1), pp. 153 ‐ 159. [90] Millan J. R., “Incremental Acquisition of Local Networks for the Control of Autonomous Robots”, Seventh international Conference on Artificial Neural Networks, 1997, pp. 739 – 744. 260
[91] Castellano G., Attolico G., and Distance A., “Incremental Learning of Neural Reactive Controller”, Sixth International Conference on Intelligent Systems, Boston, 1997, pp. 11 – 13. [92] Dubrawski A., and Crowley J. L., “Self‐supervised Neural System for Reactive Navigation”, International Conference on Robotics and Automation, 1994, pp. 2076‐2082. [93] Gu D., and Hu H., “Neural Predictive Control for a Car‐Like Mobile Robot”, Robotics and Autonomous Systems, 2002, Vol. 39, pp. 73–86. [94] Yang S. X., and Meng M., “An Efficient Neural Network Method for Real‐
Time Motion Planning with Safety Consideration”, Robotics and Autonomous System, 2000, Vol. 32, pp. 115–128. [95] Yang S. X., and Meng M., “Neural Network Approaches to Dynamic Collision‐Free Trajectory Generation”, IEEE Transactions on Systems, Man, and Cybernetics—Part B: Cybernetics, 2001, Vol. 31(3), pp. 302 – 318. [96] Yang S. X., and Meng M. Q.‐H., “Real‐time Collision‐free Motion Planning of a Mobile Robot Using a Neural Dynamics‐Based Approach”, IEEE Transactions on Neural Networks, 2003, Vol. 14(6), pp. 1541 – 1552. [97] Ster B., “An Integrated Learning Approach to Environment Modelling in Mobile Robot Navigation”, Neurocomputing, 2004, Vol. 57, pp. 215 – 238. [98] Weber C., Wermter S., and Zochios A., “Robot Docking with Neural Vision and Reinforcement”, Knowledge‐Based Systems, 2004, Vol. 17, pp. 165–172. [99] Janglova D., “Neural Networks in Mobile Robot Motion”, International Journal of Advanced Robotic Systems, 2004, Vol. 1(1), pp. 15‐22. 261
[100] Lebedev D. V., Steil J. J., Ritter H. J., “The Dynamic Wave Expansion Neural Network Model for Robot Motion Planning in Time‐varying Environments”, Neural Networks, 2005, Vol. 18, pp. 267 – 285. [101] Saga K., Sugasaka T., Sekiguchi M., and Nagata S., “Mobile Robot Control by Neural Networks using Self‐Supervised Learning”, IEEE Transactions on Industrial Electronics, 1992, Vol. 39(6), pp. 537 ‐ 542. [102] Gaudiano P., Zalama E., and Coronado J. L., “An Unsupervised Neural Network for Low‐Level Control of a Wheeled Mobile Robot: Noise Resistance, Stability, and Hardware Implementation”, IEEE Transactions on Systems, Man, and Cybernetics‐Part B: Cybernetics, 1996, Vol. 26(3), pp. 485 – 396. [103] Fierro R., and Lewis F. L., “Control of a Nonholonomic Mobile Robot using Neural Networks”, IEEE Transactions on Neural Networks, Vol. 9(4), 1998, pp. 589 ‐ 600. [104] Gutierrez‐Osuna R., Janet J. A., and Luo R. C., “Modeling of Ultrasonic Range Sensors for Localization of Autonomous Mobile Robots”, IEEE transactions on industrial electronics, Vol. 45(4), 1998, pp. 654 – 662. [105] Barshan B., Ayrulu B., and Utete S. W., “Neural Network‐Based Target Differentiation using Sonar for Robotics Applications”, IEEE Transactions on Robotics and Automation, Vol. 16(4), 2000, pp. 435 ‐ 442. [106] Giaquinto N., Savino M., and Taraglio S., “A CNN‐based Passive Optical Range Finder for Real‐Time Robotic Applications”, IEEE Transactions on Instrumentation and Measurement, 2002, Vol. 51(2), pp. 314 ‐ 319. [107] Kositsky M., Karniel A., Alford S., Fleming K. M., and Mussa‐Ivaldi F. A., “Dynamical Dimension of a Hybrid Neurorobotic System”, IEEE 262
Transactions on Neural Systems and Rehabilitation Engineering, 2003, Vol. 11(2), pp. 155 – 159. [108] Quoy M., Moga S., and Gaussier P., “Dynamical Neural Networks for Planning and Low‐Level Robot Control”, IEEE Transactions on Systems, Man, and Cybernetics—Part A: Systems and Humans, 2003, Vol. 33(4), pp. 523 – 532. [109] Kho K. C., and Cho H. S., “A Neural Net – Based Feed Forward Control Scheme for Mobile Robots”, IEEE/RSJ International Workshop on Intelligent Robots and Systems, 1991, pp. 813 – 817. [110] Kar I. N., Das T., and Chaudhury S., “Simple neuron‐based adaptive controller for a nonholonomic mobile robot including actuator dynamics”, Neurocomputing, 2006, Vol. 69 (16 – 18), pp. 2140‐2152. [111] Pal P. K., Kar A., “Sonar‐based Mobile Robot Navigation Through Supervised Learning on a Neural Net”, Autonomous Robots, 1996, Vol. 3, pp. 355 – 374. [112] Zhang Q., Shippen J., and Jones B., “Robust Backstepping and Neural Network Control of a Low‐Quality Nonholonomic Mobile Robot”, International Journal of Machine Tools and manufacturing, Vol. 39, 1999, pp. 1117 – 1134. [113] Marichal G.N., Acosta L., Moreno L., M‐endez J.A., Rodrigo J. J., and Sigut M., “Obstacle Avoidance for a Mobile Robot: A Neuro‐Fuzzy Approach”, Fuzzy Sets and Systems, Vol. 124(2), 2001, pp. 171 – 179. [114] Acosta, L., Marichal, G. N., Moreno, L., Mendez, J. A., and Rodrigo, J. J., “Obstacle Avoidance using the Human Operator Experience for a Mobile Robot”, Journal of Intelligent and Robotic Systems, 2000, 27(4), pp. 305 – 319. 263
[115] Ma X., Li X., and Qiao H., “Fuzzy Neural Network‐Based Real‐Time Self–
Reaction of Mobile Robot in Unknown Environments”, Mechatronics, 2001, Vol. 11, pp. 1039 – 1052. [116] Lee M., “Evolution of Behaviors in Autonomous Robot using Artificial Neural Network and Genetic Algorithm”, Information Sciences, 2003, Vol. 155, pp. 43–60. [117] Er, M. J., Tan T. P., and Loh S. Y., “Control of a Mobile Robot using Generalized Dynamic Fuzzy Neural Networks”, Microprocessors and Microsystems , 2004, Vol. 28(9), pp. 491‐498. [118] Er M. J, Deng C., “Obstacle Avoidance of a Mobile Robot Using Hybrid Learning Approach”, IEEE Transactions on Industrial Electronics, 2005, Vol. 52(3), pp. 898 – 905. [119] Hui N. B., Mahendar V., and Pratihar D. K., “Time‐optimal, collision‐free navigation of a car‐like mobile robot using neuro‐fuzzy approaches”, Fuzzy Sets and Systems, 2006, Vol. 157 (16), pp. 2171 ‐ 2204. [120] Watanabe K., Tang J., Nakamura M., Koga S., and Fukuda T., “A Fuzzy‐
gaussian Neural Network and its Application to Mobile Robot Control”, IEEE Transactions on Control Systems Technology, 1996, Vol. 4(2), pp. 193‐
199. [121] Watanabe K., Tang J., Nakamura M., Koga S., and Fukuda T., “Mobile Robot Control using Fuzzy‐Gaussian Neural Networks”, IEEE/RSJ International Conference on Intelligent Robots and Systems, 1993, pp. 919 – 925. 264
[122] Ng K. C., and Trivedi M. M., “A Neuro‐Fuzzy Controller for Mobile Robot Navigation and Multirobot Convoying”, IEEE Transactions on Systems, Man, and Cybernetics—PartB: Cybernetics, 1998, Vol. 28(6), pp. 829‐840. [123] Araujo R., and Almeida A. T., “Learning Sensor‐Based Navigation of a Real Mobile Robot in Unknown Worlds”, IEEE Transactions on Systems, Man, and Cybernetics—Part B: Cybernetics, 1999, Vol. 29(2), pp. 164 – 178. [124] Moon Sang‐Woo and Kong Seong‐Gon, “Block‐Based Neural Networks”, IEEE Transactions On Neural Networks, 2001, Vol. 12(2), pp. 307 – 317. [125] Ye C., Yung N. H. C., and Wang D., “A Fuzzy Controller with Supervised Learning Assisted Reinforcement Learning Algorithm for Obstacle Avoidance”, IEEE Transactions on Systems, Man, and Cybernetics—Part B: Cybernetics, 2003, Vol. 33(1), pp. 17 – 27. [126] Pulasinghe K., Watanabe K., Izumi K., and Kiguchi K., “Modular Fuzzy‐
Neuro Controller Driven by Spoken Language Commands”, IEEE Transactions on Systems, Man, and Cybernetics—Part B: Cybernetics, 2004, Vol. 34(1), pp. 293 – 302. [127] Cavalcanti A., and Jr R. A. F., “Nanorobotics Control Design: A Collective Behavior Approach for Medicine”, IEEE Transactions on Nanobioscience, 2005, Vol. 4(2), pp. 133 – 140. [128] Ro P. I., and Lee B. R., “Neural‐Fuzzy Hybrid System for Mobile Robot Path‐Planning in a Partially Known Environment”, American Control Conference, 1995, pp. 673 – 677. [129] Daxwanger W. A., Schmidt G. K., “Skill‐Based Visual Parking Control using Neural and Fuzzy Networks”, IEEE International Conference on Systems, Man and Cybernetics, 1995, Vol. 2, pp. 1659‐1664. 265
[130] Dubrawski A., Reignier P., “Learning to Categorize Perceptual Space of a Mobile Robot using Fuzzy‐ART Neural Network”, IEEE/RSJ/GI International Conference on Intelligent Robots and Systems, 1994, pp. 1272‐
1277. [131] Li W., “Neuro‐Fuzzy Systems for Intelligent Robot Navigation and Control Under Uncertainty”, International Joint Conference of the Fourth IEEE International Conference on Fuzzy Systems and The Second International Fuzzy Engineering Symposium, 1995, Vol. 4, pp. 1747‐1754. [132] Godjevac J., and Steele N., “Adaptive Neuro‐Fuzzy Controller for Navigation of Mobile Robot”, International Symposium Workshop Neuro‐
Fuzzy Systems, 1996, pp. 111‐119. [133] Tunstel E., Akbarzadeh‐T M.‐R., Kumbla K., and Jamshidi M., “Hybrid Fuzzy‐Control Schemes for Robotic Systems”, IEEE International Symposium on Intelligent Control, 1995, pp. 171‐176. [134] Bourdon G., and Henaff P., “Fuzzy and Neural Control for Mobile Robotics Experimentations”, International Conference on Knowledge‐Based Intelligent Electronic Systems, 1997, pp. 659 – 666. [135] Rusu P., Petriu E. M., Whalen T. E., Cornell A., and Spoelder H. J. W., “Behavior‐Based Neuro‐Fuzzy Controller for Mobile Robot Navigation”, IEEE Transactions on Instrumentation and Measurement, 2003, Vol. 52(4), pp. 1335 – 1340. [136] Mbede J. B., Ele P., Mveh‐Abia Chantal‐Marguerite, Toure Y., Graefe V., and Ma S., “Intelligent Mobile Manipulator Navigation using Adaptive Neuro‐Fuzzy Systems”, Information Sciences, 2005, Vol. 171, pp. 447–474. 266
[137] Pratihar D. K., Deb K., and Ghosh A., “A Genetic‐Fuzzy Approach for Mobile Robot Navigation among Moving Obstacles”, International Journal of Approximate Reasoning, 1999, Vol. 20, pp. 145 – 172. [138] Hegazy O. F., Fahmy A. A., and Refaie O. M. E., “An Intelligent Robot Navigation System Based on Neuro‐Fuzzy Control”, Lecture Notes in Computer Science, 2004, Vol. 3157, pp. 1017 – 1018. [139] Nefti S., Oussalah M. , Djouani K., and Pontnau J., “Intelligent Adaptive Mobile Robot Navigation”, Journal of Intelligent and Robotic Systems, 2001, Vol. 30(4), pp.311 – 329. [140] Tsoukalas L. H., Houstis E. N., and Jones G. V., “Neurofuzzy Motion Planners for Intelligent Robots”, Journal of Intelligent and Robotic Systems, 1997, Vol. 19, (3), pp. 339 – 356. [141] Althoefer K., Krekelberg B. Husmeier D., and Seneviratne L., “Reinforcement Learning in a Rule‐Based Navigator for Robotic Manipulators”, Neurocomputing, 2001, Vol. 37, pp. 51 – 70. [142] Newell A., and Simon H. A., “Human Problem Solving”, 1972, Prentice Hall. [143] Post E., “Formal Reductions of the General Combinatorial Problem”, American Journal of Mathematics, 1943, Vol. 65, pp. 197 – 268. [144] Rosenbloom P.S., Laird J.E., Newell A., and Mc‐Carl R., “A Preliminary Analysis of the Soar Architecture as a Basis for General Intelligence”, Artificial Intelligence, 1991, Vol. 47(1‐3), pp. 289 – 525. [145] Anderson J.R., “The Limitations of Rule Based Expert Systems”, Knowledge Based Systems in Industry, 1987, Ellis Horwood, pp. 17 – 22. 267
[146] Takagi S., and Okawa Y., “Rule‐based Control of a Mobile Robot for the Push‐a‐Box Operation”, IEEE/RSJ International Workshop on Intelligent Robots and Systems, 1991, pp. 1338 – 1343. [147] Gaeta H., Friedman D., Ritter W., and Hunt G., “Age‐Related Changes in Neural Trace Generation of Rule‐Based Auditory Features”, Neurobiology of Aging, 2002, Vol. 23(3), pp. 443‐455. [148] Tunstel E., Howard A., and Seraji H., “Rule–based Reasoning and Neural Network Perception for Safe Off–Road Robot Mobility”, Expert Systems, 2002, Vol. 19(4), pp. 191‐200. [149] de Souza M. A. F., and Ferreira M. A. G. V., “Designing Reusable Rule‐
based Architectures with Design Patterns”, Expert Systems with Applications, 2002, Vol. 23(4), pp. 395‐403. [150] Dietrich J., Kozlenkov A., Schroeder M., and Wagner G., ”Rule‐based Agents for the Semantic Web”, Electronic Commerce Research and Applications, 2003, Vol. 2(4), pp. 323‐338. [151] McIntosh B. S., Muetzelfeldt R. I., Legg C. J., Mazzoleni S., and Csontos P., “Reasoning with Direction and Rate of Change in Vegetation State Transition Modeling”, Environmental Modelling & Software, 2003, Vol. 18(10), pp. 915‐927. [152] Pfeiffer. J. J. Jr., “A Rule‐based Visual Language for Small Mobile Robots”, IEEE Symposium on Visual Languages, 1997, pp. 164‐165. [153] Pfeiffer. J. J. Jr., “Case Study: Developing a Rule‐Based Language for Mobile Robots”, IEEE Symposium Visual Languages, 1998, pp. 204 – 209. 268
[154] Pfeiffer. J. J. Jr., “Altaira: A Rule‐based Visual Language for Small Mobile Robots”, Journal of Visual Languages and Computing, 1998, Vol. 9 (2), pp. 127 – 150. [155] Fei J., and Isik C., “Adapting to Environmental Variations in a Rule‐based Mobile Robot Controller”, IEEE International Conference on Systems, Man and Cybernetics, 1989, Vol. 1, pp. 332‐333. [156] Gilmore B.J., and Streit D.A., “A Rule‐based Algorithm to Predict the Dynamic Behavior of Mechanical Part Orienting Operations”, IEEE International Conference Robotics and Automation, 1988, Vol. 2, pp. 1254 – 1259. [157] Bonner S., and Kelley R.B., “A Representation Scheme for Rapid 3D Collision Detection”, IEEE International Symposium Intelligent Control, 1988, pp. 320 – 325. [158] Bonner S., and Kelley R.B., “Planning 3‐D Collision‐Free Paths”, IEEE International Symposium Intelligent Control, 1989, pp. 550 – 555. [159] Bonner S., and Kelley R. B., “A Novel Representation for Planning 3‐D Collision‐Free Paths”, IEEE Transactions on Systems, Man, and Cybernetics, 1990, Vol. 20(6), pp. 1337 – 1351. [160] Clementine Software, Version‐5, http://www.spss.com/Clementine/, 2000. [161] Pham D.T., and Dimov S. S., “An Algorithm for Incremental Inductive Learning”, Institute of Mechanical Engineers, 1997, Volume 211, Part‐B, pp. 239‐249. [162] Khatib O., “Real‐Time Obstacle Avoidance for Manipulators and Mobile Robots”, The International Journal of Robotics Research, 1986, Vol. 5(1), pp. 90 ‐ 98. 269
[163] Borenstein J., and Koren Y., “Real‐Time Obstacle Avoidance for Fast Mobile Robots”, IEEE Transactions on systems, man and cybernetics, 1989, Vol. 19(5), pp. 1179 ‐ 1187. [164] Koren, Y., and Borenstein, J., “Potential Field Methods and their Inherent Limitations for Mobile Robot Navigation”, International Conference on Robotics and Automation, 1991, Vol. 2, pp. 1398 – 1404. [165] Garibotto G., and Masciangelo S., “Path Planning using the Potential Field Approach for Navigation”, Advanced Robotics, Robots in Unstructured Environments, 1991, Vol. 2, pp. 1679‐1682. [166] Kim J. O. and Khosla P. K., “Real‐Time Obstacle Avoidance using Harmonic Potential Functions”, IEEE Transaction on Robotics and Automation, 1992, Vol. 8(3), pp. 338 ‐ 349. [167] Rimon E., and Koditschek D. K., “Exact Robot Navigation using Artificial Potential Functions”, IEEE Transactions on Robotics and Automation, 1992, Vol. 8(5), pp. 501‐518. [168] Koditschek D. E., “Exact Robot Navigation by Means of Potential Functions: Some Topological Considerations”, IEEE International Conference Robotics and Automation, 1987, Vol. 4, pp. 1 – 6. [169] Guldner J., Utkin V. I., Hashimoto H., and Harashima F., “Tracking Gradients of Artificial Potential Fields with Non‐Holonomic Mobile Robots”, American Control Conferences, 1995, pp. 2803 ‐2804. [170] Guldner, J., and Utkin V.I., “Sliding Mode Control for Gradient Tracking and Robot Navigation using Artificial Potential Fields”, IEEE Transactions on Robotics and Automation, 1995, Vol. 11(2), pp. 247 – 254. 270
[171] Al‐Sultan K.S., and Aliyu M.D.S., “A New Potential Field‐based Algorithm for Path Planning”, Journal of Intelligent and Robotic Systems, 1996, Vol. 17(3), pp. 265 ‐ 282. [172] Yun X., and Tan K‐C., “A Wall‐Following Method for Escaping Local Minima in Potential Field Based Motion Planning”, International Conference on Advanced Robotics, 1997, pp. 421 ‐ 426. [173] Chuang J‐H., and Ahuja N., “An Analytically Tractable Potential Field Model of Free Space and Its Application in Obstacle Avoidance”, IEEE Transactions on Systems, Man, and Cybernetics—Part B: Cybernetics, 1998, Vol. 28(5), pp. 729 ‐ 736. [174] Sekhawat S., and Chyba M., “Nonholonomic Deformation of a Potential Field for Motion Planning”, IEEE International Conference on Robotics and Automation, 1999, pp. 817 ‐ 822. [175] Canny J.F., and Lin M.C., “An Opportunistic Global Path Planner”, IEEE International Conference on Robotics and Automation, 1990, Vol. 3, pp. 1554 – 1559. [176] Liu C., Ang Jr. M.H., Krishnan H., and Lim S.Y., “Virtual Obstacle Concept for Local‐minimum‐recovery in Potential‐field Based Navigation”, IEEE International Conference on Robotics & Automation, 2000, pp. 983 ‐ 988. [177] Wang Y., and Chirikjian G. S., “A New Potential Field Method for Robot Path Planning”, IEEE International Conference on Robotics and Automation, 2000, pp. 977‐982. 271
[178] Ren J., Mcisaac K.A., and Patel R.V., “Modified Newtonʹs Method Applied to Potential Field‐Based Navigation for Mobile Robots”, IEEE Transactions on Robotics, 2006, Vol. 22 (2), pp. 384 ‐ 391. [179] Xi‐yong Z. and Jing Z., “Virtual Local Target Method for Avoiding Local Minimum in Potential Field Based Robot Navigation”, Journal of Zhejiang University SCIENCE, 2003, Vol.‐4(3), pp. 264 ‐ 269. [180] Chengqing L., Ang Jr M. H., Krishnan H., and Yong L. S., “Virtual Obstacle Concept for Local‐minimum‐recovery in Potential‐field Based Navigation”, IEEE on International Conference on Robotics & Automation, 2000, pp. 983 – 988. [181] Reid M.B., “Path Planning Using Optically Computed Potential Fields”, IEEE International Conference on Robotics and Automation, 1993, Vol. 2, pp. 295‐300. [184] Im Kwang‐Young, Oh Se‐Young, and Han Seong‐Joo, “Evolving a Modular Neural Network‐Based Behavioral Fusion Using Extended VFF and Environment Classification for Mobile Robot Navigation”, IEEE Transactions on Evolutionary Computation, 2002, Vol. 6(4), pp. 413 – 419. [185] Tsourveloudis N. C., Valavanis K. P., and Hebert T., “Autonomous Vehicle Navigation Utilizing Electrostatic Potential Fields and Fuzzy Logic”, IEEE Transactions on Robotics and Automation, 2001, Vol. 17(4), pp. 490 – 497. [186] Cosio F. A., and Castaineda M. A. P., “Autonomous Robot Navigation using Adaptive Potential Fields”, Mathematical and Computer Modelling, 2004, Vol. 40, pp. 1141 ‐ 1156. 272
[187] McFetridge L., and Ibrahim M. Y., “New Technique of Mobile Robot Navigation using a Hybrid Adaptive Fuzzy potential Field Approach”, Computers & Industrial Engineering, 1998, Vol. 35(3), pp. 471 ‐ 474. [188] Vadakkepat P., Tan K. C., and Ming‐Liang W., “Evolutionary Artificial Potential Fields and their Application in Real Time Robot Path Planning”, Congress on Evolutionary Computation, 2000, Vol. 1, pp. 256 – 263. [189] Ratering S., and Gini M., “Robot Navigation in a Known Environment with Unknown Moving Obstacles”, Autonomous robot, 1995, Vol. 1(2), pp. 149‐ 165. [190] Zhuang X., Meng Q., Yin B., and Wang H., “Robot Path Planning by Artificial Potential Field Optimization Based on Reinforcement Learning with Fuzzy Slate”, 4th World Congress on Intelligent Control and Automation, pp. 1166‐1170. [191] Kirkpatrick S., Gelatt C. D. Jr., and Vecchi M. P., “Optimization by Simulated Annealing”, Science, 1983, Vol. 220, (4598), pp. 671 ‐ 681. [192] Carriker W.F., Khosla P., and Krogh B., “The Use of Simulated Annealing to Solve the Mobile Manipulator Path Planning Problem”, IEEE International Conference on Robotics and Automation, 1990, Vol. 1, pp. 204 ‐ 209. [193] Janabi‐Sharifi F., and Vinke D., “Integration of the Artificial Potential Field Approach with Simulated Annealing for Robot Path Planning”, IEEE International Conference on Intelligent Control, 1993, pp. 536‐541. [194] Janabi‐Sharifi F. and Vinke D., 1993, “Robot Path Planning by Integrating the Artificial Potential Field Approach with Simulated Annealing”, 273
International Conference on Systems, Man and Cybernetics, Systems Engineering in the Service of Humans, 1993, Vol. 2, pp. 282 ‐ 287. [195] Park M.G., Jeon J. H., and Lee M. C., “Obstacle Avoidance for Mobile Robots using Artificial Potential Field Approach with Simulated Annealing”, IEEE International Symposium on Industrial Electronics, 2001, pp. 1530‐1535. [196] Park M.G., and Lee M.C., “Experimental Evaluation of Robot Path Planning by Artificial Potential Field Approach with Simulated Annealing”, 41st SICE Annual Conference, Vol. 4, 2002, pp. 2190‐ 2195. [197] Park S.T., Yang S.Y., and Jung J.H., “Real‐time Lane Recognition by Simulated Annealing Algorithm”, 4th Korea‐Russia International Symposium on Science and Technology, 2000, Vol. 3, pp. 95 – 98. [198] Lee S., and Kardaras G., “Elastic String Based Global Path using Neural Networks”, IEEE International Symposium on Computational Intelligence in Robotics and Automation,1997, pp. 108‐114. [199] Lee S., and Kardaras G., “Collision‐Free Path Planning with Neural Networks”, IEEE International Conference on Robotics and Automation, 1997, pp. 3565 – 3567. [200] Betke M., and Makries N. C., “Fast Object Recognition in Noisy Images Using Simulated Annealing”, International Conference on Computer Vision, 1995, pp. 523 – 530. [201] Hong D. S., and Cho H. S., “Generation of Robotic Assembly Sequences using a Simulated Annealing”, IEEE/RSJ International Conference on Intelligent Robots and systems, 1999, pp. 1247 – 1252. 274
[202] Martinez‐Alfaro H., and Gomez‐Garcia Simon, “Mobile Robot Path Planning and Tracking using Simulated Annealing and Fuzzy Logic Control”, Expert Systems with Applications, Vol. 15, 1998, pp. 421–429. [203] Lucidarme P., and Liegeois A., “Learning Reactive Neuro controllers using Simulated annealing for Mobile Robots”, IEEE/RSJ International Conference on Intelligent Robots and Systems, 2003, pp. 674 – 679. [204] Barral D., Perrin Jean‐Perrin, Dombre E., and Liegeois A., “An Evolutionary Simulated Annealing Algorithm for Optimizing Robotic Task Point Ordering”, IEEE International Symposium on Assembly and Task Planning, 1999, pp. 157 – 162. [205] Kwok D. P., and Sheng F., “Genetic Algorithm and Simulated Annealing for Optimal Robot Arm PID Control”, The IEEE Conference on Evolutionary Computation, pp. 707 – 713. [206] Skewis T., and Lumelsky V., “Simulation of Sensor‐Based Robot and Human Motion Planning”, International Journal of Robotics and Automation, 1993, Vol. 8(4), pp. 153 ‐ 168. [207] Evans J., Krishnamurthy B., Barrows B., Skewis T., and Lumelsky V., “Handling Real‐World Motion Planning, A Hospital Transport Robot”, IEEE Transactions on Control Systems, 1992, Vol. 12, pp. 15 ‐ 20. [208] Skewis T., and Lumelsky V., “Experiments with a Mobile Robot Operating in a Cluttered Unknown Environment”, Journal of Robotics Systems, 1994, Vol. 11(4), pp. 281 ‐ 300. [209] Boem H. R., and Cho H. S., “Mobile Robot Localisation using a Single Rotating Sonar and 2 Passive Cylindrical Beacons”, Robotica, 1995, Vol. 13(3), pp. 243 ‐ 252. 275
[210] Kleeman L., and Kuc R. “Mobile Robot for Target Localization and Classification”, International Journal of Robotics Research, 1995, Vol 14(4), pp. 295‐318. [211] Ko J. H., Kim W. J., and Chung M. I., “A Method for Acoustic Landmark Extraction for Mobile Robot Navigation”, IEEE Transactions on Robotics and Automation, 1996, Vol. 12(3), pp. 478 ‐ 485. [212] Mallita P., Sirtola J., and Souranta R., “Two‐dimensional Object Detection in Air Using Ultrasonic Transducer Array and Non‐Linear Digital L‐
Filter”, Sensors and Actuators A‐Physical, 1996, Vol. 55 (2‐3), pp. 107 ‐ 113. [213] Hong M. L., and Kleeman L., “Ultrasonic Classification and Location of 3D Room Features using Maximum Likelihood Estimation”, Robotica, 1997, Vol. 15(6), pp. 645 ‐ 652. [214] Budenske J., and Gini M., “Sensor explication: Knowledge‐based Robotic Plan Execution Through Logical Objects”, IEEE Transactions on Systems, Man and Cybernetics Part B‐Cybernetics, 1997, Vol. 27(4), pp. 611 ‐ 625. [215] Takamura S., Nakamura T., and Asada M., “Behavior‐Based Map Representation for a Sonar‐Based Mobile Robot by Statistical Methods”, Advanced Robotics, 1997, Vol. 11(5), pp. 445 ‐ 462. [216] Nakamura T., Takamura S., and Asada M., “Behavior‐based Map Representation for f Sonar Based Mobile Robot by Statistical Methods”, RSJ/IEEE International Conference on Intelligent Robots and Systems, 1996, pp. 276 ‐ 283. [217] Nakamura T., Morimoto M., and Asada M., “Direct Coupling of Multisensor Information and Actions for Mobile Robot Behavior 276
Acquisition”, IEEE/SICE/RSJ International Conference on Multisensor Fusion and Integration for Intelligent Systems, 1996, pp. 139 ‐ 144. [218] Everett H., and Flynn A,. “A Programmable Near‐infrared Proximity Detector for Mobile Robot Navigation”, SPIE Conference on Advances in Intelligent Robotics Systems, 1986, Vol. 727, pp. 221 ‐ 230. [219] Yu H. H., and Malik R., “AlMY‐An Autonomous Mobile Robot Navigation in Unknown Environment with Infrared Detector System”, Journal of Intelligent and Robotic Systems, 1995, Vol. 14(2), pp. 181‐197. [220] Kube C. R., and Zhang H. “Task Modelling in Collective Robotics”, Autonomous Robots, 1997, Vol. 4, pp. 53 ‐ 72. [221] Lumelsky V. J., and Harinarayanan K. R., “Decentralised Motion Planning for Multiple Mobile Robots: The Cocktail Party Model”, Autonomous Robots, 1997, Vol. 4, pp. 121 ‐ 135. [222] Cheung E., and Lumelsky V. J., “Proximity Sensing in Robot Manipulator Motion Planning: System and Implementation Issues”, IEEE Transactions on Robotics and Automation, 1989, Vol. 5(6), pp. 740 ‐ 751. [223] Vandorpe J., and Van Brusell H., “A Reflexive Navigation Algorithm for an Autonomous Mobile Robot”, International Conference on Multisensor Fusion and Integration for Intelligent System, Las Vegas, NV, 1994, pp. 251 ‐ 258. [224] Vandorpe J., Brusell V. H., and Xu H., “LIAS: A Reflexive Navigation Architecture for an Intelligent Robot System”, IEEE Transactions, Industrial Electronics, 1996, Vol. 43(3), pp. 432 ‐ 440. 277
[225] Borenstein J., Everett H. R., Feng L., and Wehe, D., “Mobile Robot Positioning: Sensors and Techniques”, Journal of Robotic Systems, 1997, Vol. 14(4), pp. 231 ‐ 249. [226] Yagi Y., Nishizawa Y., and Yachida M., “Map‐based Navigation for a Mobile Robot With Omnidirectional Image Sensor COPIS”, IEEE Transactions on Robotics and Automation, 1995, Vol. 11(5), pp. 634 ‐ 648. [227] Yagi Y., Nishizawa Y., and Yachida M., “Estimation of Free Space for Mobile Robot Using Omnidirectional Image Sensor COPIS”, IEEE/JES International Conference, Industrial Electronics, Control and Instrumentation, Kobe, 1991, Vol. 2, pp. 1329 ‐ 1334. [228] Yagi Y., Nishizawa Y., and Yachida M., “Obstacle Avoidance for Mobile Robot Integrating Omnidirectional Image Sensor COPIS and Ultrasonic Sensor”, 2nd International Conference on Automation Robotics and Computer Vision, 1992, Vol. 3, pp. 11.7.1 ‐ 11.7.5. [229] Gonzalez J., Stenz A. and Ollero A. “A mobile robot iconic position estimator using a radial laser scanner”, Journal of Intelligent & Robotic Systems, 1995, Vol. 13(2), pp. 161 ‐ 179. [230] Dicesare F., Harhalakis G., Porth J.M., Silva M., and Vernadat F. B., “Practice of Petri Nets in Manufacturing”, Chapman & Hall, 1999. [231] Zhou M., and Dicesare F., “Petri Net Synthesis for Discrete Event Control of Manufacturing Systems”, Kluwer Academic Publisher, 1993. 278
Published Papers
Papers Published in International Journals:
¾ “Potential field method to navigate several mobile robots”, Applied Intelligence, (2006), Vol. 25 pages 321 – 333. ¾ “Neuro‐Fuzzy Technique for Navigation of Multiple Mobile Robots”, Fuzzy Optimization and Decision Making, (2006), Vol. – 5, pages 255 – 288. ¾ “Navigation of Multiple Mobile Robots Using Rule‐based‐Neuro‐Fuzzy Technique”, International Journal of Computational Intelligence, (2006), Vol. – 3(2), pages 142 – 152. ¾ “Navigation Technique to Control Several Mobile Robots”, International Journal of Knowledge‐Based and Intelligent Engineering Systems, (2006), Vol. – 10 (5), Pages 387 ‐ 401. 279
Papers Published in International / National Conferences:
¾ “Fuzzy Control Technique for of Multiple Mobile Robots’ Navigation”, AMS‐03, Jadavpur University, Kolkata, 28‐29th March, 2003, Page no.: 415‐
420. ¾ “Fuzzy Controllers for Navigation of Multiple Mobile Robots”, NCME‐03, TITE, Patiala, November, 2003, Pages : 498‐504. ¾ “Neuro‐Fuzzy Technique for Navigation of Multiple Mobile Robots”, VETOMAC 3 / ACSIM 2004, 6‐9 December 2004, Pages 749‐756. ¾ “Path planning using rule‐based approach for navigation of multiple mobile Robots”, N.I.T., Rourkela, ISTAM – 2004, Page No.: 56. ¾ “Rule base Technique for Navigation of Multiple Mobile Robots”, NCME‐
03, TITE, Patiala, November, 2003, Pages: 432‐438. ¾ “Potential Field Method for Navigation of Multiple Mobile Robots”, NIT, Hamirpur, RDFTME‐2006, Pages 446 – 454. ¾ “Potential‐Field‐Neuro‐Fuzzy Technique for Navigation of Several Mobile Robots”, N.I.T., Rourkela, ETCE‐2005, Pages 73 – 84. 280
281
282
283
284
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement