An Investigation of Loose Coupling in Evolutionary Swarm Robotics
Total Page:16
File Type:pdf, Size:1020Kb
An Investigation of Loose Coupling in Evolutionary Swarm Robotics Jennifer Owen A thesis submitted for the degree of Doctor of Philosophy University of York Computer Science January 2013 Abstract In complex systems, it has been observed that the parts within the system are \loosely coupled". Loose coupling means that the parts of the system interact in some way, and as long as this interaction is maintained the parts can evolve independently. Detrimental evolutionary changes within one part of the system do not negatively affect other parts. Overall system function- ality is maintained, leading to faster evolution. In swarm robotic systems there are multiple robots working together to achieve a shared goal. However it is not always obvious how to program the actions of the robots such that the desired aggregate behaviour emerges. One solution is to use a genetic algorithm to evolve robot controllers, this approach is called \Evolutionary Swarm Robotics". This thesis makes the case that swarm robotic systems are complex sys- tems, and hypothesises that loose coupling between the robots in a swarm would lead to faster evolution. Robot swarms are investigated where robots describe environmental features to each other as part of a foraging task. Multiple descriptions can be used to describe a feature. The mappings between feature descriptions, and the signals used to express those descrip- tions, are manipulated. By doing this, the interactions between robots can change over time or stay the same. Results show that loose coupling leads to higher swarm fitnesses because it makes the communicated information easier to interpret. However there are some subtleties in its working. We also observe that if some of the information is not useful for completing the task, this negatively affects swarm fitness regardless of coupling. This problem can be mitigated by using loose coupling. This research has implications for the design of communication within robot swarms. Before evolution, it is difficult to know what information is relevant. This research shows that sharing unnecessary information between robots is detrimental to swarm fitness because the cost of interpreting information can be greater than the benefit gained from the information. Loose coupling can reduce, but not eliminate, the evolutionary cost of interpreting multiple pieces of information in exchange for slower message transmission. Contents Contents i List of Figures v List of Tables xi 1 Introduction 1 1.1 Background Context . .1 1.2 Aims and Contributions . .2 1.2.1 Contributions . .3 1.3 Thesis Structure . .3 I Background and Literature Review 5 2 Complexity and Emergence 7 2.1 Introduction . .7 2.2 Definitions . .7 2.2.1 Types of Complexity . .8 2.2.2 Unpredictability . .9 2.2.3 Emergence and Hierarchy . 10 2.2.4 A Definition . 11 2.3 Motivations Behind Complexity Research . 11 2.3.1 Complexity and Evolution . 12 2.4 Modelling . 13 2.4.1 The Advantages of Modelling . 14 2.4.2 Forms of Modelling . 15 2.4.3 Validation and Verification . 16 2.5 Conclusion . 19 3 Swarm Intelligence 21 3.1 Introduction . 21 3.2 What is Swarm Intelligence? . 21 3.2.1 Motivations Behind Swarm Intelligence Research . 23 3.3 Swarm Robotics . 24 3.3.1 Benefits of Swarm Robotics . 25 3.4 Evolutionary Swarm Robotics . 28 3.4.1 Genetic Algorithms . 28 i CONTENTS 3.4.2 Implementing Evolutionary Swarm Robotics . 29 3.5 Conclusion . 30 4 Proposed Solution 31 4.1 Hypothesis . 31 4.1.1 Coupling Strength . 31 4.1.2 Alphabetisation . 32 4.2 Motivations . 33 4.3 Conclusion . 34 5 An Experiment to Test the Hypothesis 35 5.1 Introduction . 35 5.2 The Task . 35 5.3 Creating an Alphabet . 36 5.3.1 Varying the Amount of Coupling . 36 5.3.2 Benefits of Audio Communication . 39 5.4 Implementing ESR . 39 5.4.1 Collective Evolution . 39 5.4.2 Evolvable Robot Architectures . 41 5.5 Conclusion . 46 II Co-Development of Simulation and Hardware 49 6 Basic Simulation 51 6.1 Introduction . 51 6.2 The CoSMoS Process . 52 6.2.1 Benefits of Following the CoSMoS Process . 54 6.2.2 The CoSMoS Process for Engineered Systems . 54 6.3 Following the CoSMoS Process . 55 6.3.1 Research Context . 55 6.3.2 Biological Domain, Domain Model and Meta-Model . 58 6.3.3 Engineering Domain . 58 6.3.4 Domain Model . 58 6.3.5 Platform Model . 63 6.3.6 Simulation Platform . 67 6.3.7 Results Model . 67 6.4 Conclusion . 67 6.4.1 List of Assumptions . 68 6.4.2 List of Calibration Points . 68 7 Developing The Hardware 69 7.1 Introduction . 69 7.1.1 Requirements . 71 7.2 Version 1: Phased Array Beamforming . 72 7.2.1 Soundboard Process . 72 7.2.2 Phased Array Beamforming . 73 7.2.3 Design Considerations . 75 7.2.4 Verification Tests . 80 7.2.5 Test Results . 82 ii CONTENTS 7.3 Version 2: Microphone Amplitude Comparison . 82 7.3.1 Creating a Sound . 83 7.3.2 Test Results . 84 7.4 Conclusion . 86 8 Calibrating the Model 89 8.1 Introduction . 89 8.1.1 List of Calibration Points . 89 8.2 Calibration Points Already Answered . 90 8.3 Comparing Soundboards . 91 8.3.1 Experimental Method . 91 8.3.2 Results . 92 8.3.3 Frequency and DOA Estimation From FFT Amplitude and Dif- ferential . 95 8.3.4 Discussion . 96 8.3.5 Feedback into Simulation . 100 8.4 DOA Measurement Accuracy . 100 8.4.1 Experimental Method . 100 8.4.2 Results and Discussion . 101 8.5 Two or More Simultaneous Tones . 102 8.5.1 Experimental Method . 104 8.5.2 Results . 104 8.5.3 Discussion and Feedback into Simulation . 106 8.6 Measuring Audio Range . 106 8.6.1 Experimental Method . 106 8.6.2 Results . 108 8.6.3 Discussion . 108 8.7 Calibrating the Model . 108 8.7.1 Amplitude and Differential with No Tone . 109 8.7.2 Amplitude and Differential with One Tone . 111 8.8 Conclusion . 117 III Results and Conclusions 119 9 Initial Results From Testing the Hypothesis 121 9.1 Introduction . 121 9.2 Experimental Method . 122 9.2.1 GE Grammar . 122 9.2.2 Genetic Algorithm Parameters . 124 9.2.3 Food Distribution Parameters . 126 9.2.4 Communication Parameters . 126 9.2.5 Measuring Results . 127 9.3 Developing Test Benchmarks . 128 9.3.1 Randomly Generated Controllers . 128 9.3.2 Designing A Controller . 129 9.4 Results . 131 9.4.1 Discussion . 133 9.5 Elitism and Steady State GA . ..