Evolving Test Environments to Identify Faults in Swarm Robotics Algorithms

Evolving Test Environments to Identify Faults in Swarm Robotics Algorithms

Evolving Test Environments to Identify Faults in Swarm Robotics Algorithms HAO WEI PhD University of York Computer Science January 2018 iii Abstract Swarm robotic systems are often considered to be dependable. However, there is little empirical evidence or theoretical analysis showing that de- pendability is an inherent property of all swarm robotic systems. Re- cent literature has identified potential issues with respect to dependabil- ity within certain types of swarm robotic control algorithms. However, there is little research on the testing of swarm robotic systems; this pro- vides the motivation for developing a novel testing method for swarm robotic systems. An evolutionary testing method is proposed in this thesis to identify unintended behaviours during the execution of swarm robotic systems autonomously. Three case studies are carried out on flocking con- trol algorithm, foraging algorithm, and task partitioning algorithm. These case studies not only show that the evolutionary testing method has the ability to identify faults in swarm robotic system, but also show that this evolutionary testing method is able to reveal failures in various swarm control algorithms. The experimental results show that the evolutionary testing method can lead to worse swarm performance and reveal more failures than the random testing method within the same number of com- puting evaluations. Moreover, the case study of flocking control algorithm also shows that the evolutionary testing method covers more failure types than the random testing method. In all three case studies, the depend- ability of each swarm robotic system has been improved by tackling the faults identified during the testing phase. Consequently, the evolution- ary testing method has the potential to be used to help the developers of swarm robotic systems to design and calibrate the swarm control algo- rithms thereby assuring the dependability of swarm robotic systems. v Contents Abstract iii List of Tables viii List of Figures viii Acknowledgements xv Declaration xvii 1 Introduction 1 1.1 The Differences between Multi-Robot Systems and Swarm Robotic Systems . .2 1.2 Dependability of Swarm Robotic Systems . .3 1.3 Evolutionary Testing Method . .3 1.4 Research Hypothesis . .4 1.4.1 Research Questions . .4 1.5 Thesis Contributions . .5 1.6 Thesis Structure . .6 2 Background and Related Work 9 2.1 Swarm Robotics . .9 2.1.1 What is Swarm Robotics? . .9 2.1.2 Motivations for Swarm Robotics Research . 11 2.1.3 Examples of Inspiration to Swarm Intelligence . 11 2.1.4 Potential Applications . 13 2.1.5 The Design Problem of Swarm Robotics . 14 2.1.6 Summary . 21 2.2 Dependability of Swarm Robotics . 22 2.2.1 Dependability Concepts . 22 2.2.2 Dependability of Current Swarm Robotics . 25 2.2.3 Fault detection in swarm robotics . 28 2.2.4 Summary . 29 2.3 Analysis and Testing . 30 2.3.1 Analysis . 30 vi 2.3.2 Testing . 33 2.3.3 Summary . 40 2.4 Swarm Behaviours . 40 2.4.1 Flocking Behaviour . 40 2.4.2 Ant Foraging Behaviour . 43 2.4.3 Task Partitioning Behaviour . 46 2.5 Chapter Summary . 48 3 Evolutionary Testing Method for Swarm Robotic System 51 3.1 Problem Analysis . 51 3.2 Proposed solution - Evolutionary Testing Method . 54 3.2.1 Chromosome . 55 3.2.2 Fitness Function . 57 3.2.3 Genetic Algorithm Parameters . 58 3.2.4 Parameter Analysis . 60 3.2.5 Evolutionary Process of Test Cases . 61 3.3 Experimental Infrastructure . 62 3.3.1 ARGoS Simulator . 63 3.3.2 Foot-bot robot model . 65 3.3.3 External Assistance Tools . 66 3.3.4 Test Case Generator . 67 3.3.5 Cluster Computing . 68 3.4 Chapter Summary . 69 4 Testing Method for Flocking Behaviour 71 4.1 Experimental Scenario for Testing Flocking Behaviour . 71 4.1.1 Total Failures . 72 4.2 Metrics for flocking behaviour . 72 4.2.1 Angular Order . 74 4.2.2 The Proportion of the Swarm Left . 75 4.3 Flocking Control Algorithm . 75 4.3.1 The Control Algorithm for The Prey . 76 4.4 Failure Classification . 77 4.5 Evolutionary Testing method . 78 4.5.1 Chromosomes . 78 4.5.2 Fitness Function . 78 4.5.3 Parameter Analysis . 80 4.6 Experimental Results . 80 4.6.1 The Selection of Statistical Tests . 81 4.6.2 Comparison of Severity of Failures . 83 vii 4.6.3 Comparison of Diversity of Failure Type . 85 4.6.4 Discussion . 87 4.7 Improving Control Algorithm by Fault Removal . 87 4.7.1 Total Failure Analysis . 88 4.7.2 Algorithm Improvement . 89 4.7.3 Experimental Results of the Improved Flocking Con- trol Algorithm . 89 4.8 Chapter Summary . 91 5 Testing Method for Foraging Behaviour 93 5.1 Metrics for Ant Foraging Behaviour . 93 5.1.1 Total Failure in Ant Foraging Algorithm . 94 5.2 Control algorithm for Ant Foraging Behaviour . 95 5.2.1 Virtual Pheromone Algorithm . 95 5.3 Evolutionary Testing Method . 98 5.3.1 Chromosome . 98 5.3.2 Fitness Function . 99 5.3.3 Parameters Analysis of GA . 99 5.4 Experiments . 100 5.4.1 Experimental Setup . 100 5.4.2 Experimental Results of VP Algorithm . 101 5.4.3 Discussion . 103 5.5 Improving Control Algorithm by Fault Removal . 104 5.5.1 Total Failure Analysis . 104 5.5.2 Algorithm Improvement . 105 5.5.3 Experimental Results using the Improved VP Algo- rithm . 107 5.6 Chapter Summary . 109 6 Testing Method for Task Partitioning Behaviour 111 6.1 Metrics for Task Partitioning Behaviour . 111 6.1.1 Total Failure in Task Partitioning Behaviour . 113 6.2 Control Algorithm for Task Partitioning . 113 6.2.1 Path Planning Method . 115 6.3 Evolutionary Testing Method . 116 6.3.1 Chromosome . 116 6.3.2 Fitness Function and Parameter Analysis . 117 6.3.3 Parameter Analysis of Genetic Algorithm . 117 6.4 Experimental Results . 117 6.4.1 Experimental Results for the Static Partitioning Strat- egy............................. 118 viii 6.4.2 Convergence Time of Task Partitioning . 120 6.5 Improving the Control Algorithm by Fault Removal . 122 6.5.1 Total Failure Analysis . 123 6.5.2 Algorithm Improvement . 124 6.5.3 Experimental Results for the Improved Static Parti- tioning Strategy . 126 6.6 Chapter Summary . 129 7 Evaluation and Conclusions 131 7.1 Evaluation of Research Hypothesis . 131 7.2 Thesis Contributions . 132 7.3 Limitations . 133 7.4 Future Work . 134 7.5 Conclusion . 136 Bibliography 137 ix List of Tables 1.1 Differences between Swarm Robotics and Other Multi-Robotics2 2.1 INTERNAL HAZARDS FOR A SINGLE ROBOT (Winfield and Nembrini, 2006) . 26 2.2 SUMMARY OF FAILURE MODES AND EFFECTS (Win- field and Nembrini, 2006) . 27 4.1 PARAMETER VALUES OF GENETIC ALGORITHM (Wei, Timmis, and Alexander, 2017) . 80 4.2 DETAILS OF THE EXPERIMENTS OF FAILURE SEVERITY 83 4.3 DETAILED RESULTS OF MANN-WHITNEY U-TEST . 84 4.4 DETAILS OF THE EXPERIMENTS OF FAILURE TYPE . 86 4.5 FAILURE TYPES DISCOVERED. Grey stands for failure type discovered by the random testing method and Cyan stands for failure type discovered by the evolutionary testing method. 87 4.6 NUMBER OF TOTAL FAILURES DISCOVERED BY EVOLVED TEST CASES FOR EACH FAILURE TYPE. 88 4.7 THREE PAIRS OF RESULT DETAILS FOR THE MANN- WHITNEY U-TEST . 90 5.1 PARAMETER VALUES OF GENETIC ALGORITHM . 99 5.2 DETAILS OF THE EXPERIMENTS OF VP ALGORITHM . 102 5.3 DETAILED RESULTS OF MANN-WHITNEY U-TEST OF VP ALGORITHM . 102 5.4 TOTAL FAILURES OF VP ALGORITHM FOUND DURING THE EXPERIMENTS . 104 5.5 THREE PAIRS OF DETAILED RESULTS OF MANN-WHITNEY U-TEST . 108 6.1 DETAILS OF THE EXPERIMENTS OF TASK PARTITIONING119 6.2 RESULT DETAILS OF THE MANN-WHITNEY U-TEST . 119 6.3 TOTAL FAILURES OF STATIC PARTITIONING STRATEGY FOUND DURING THE EXPERIMENTS . 123 x 6.4 THREE PAIRS OF RESULT DETAILS OF THE MANN-WHITNEY U-TEST . 127 xi List of Figures 2.1 Laprie’s dependability tree (Laprie, 1995) . 22 2.2 Reliability for a swarm with partially failed robots (Bjerknes and Winfield, 2013) . 28 2.3 Maximizing the minimum number of turns for 100 genera- tions (Ashlock, Manikas, and Ashenayi, 2006) . 36 2.4 Steering rules of Boids (Reynolds, 1987). 41 2.5 Snapshots of steered flocking with 7 robots. At the time of the second snapshot, 4 of the robots are commanded to turn 90 degrees to the right of their current direction. White lines indicate the heading directions of the robots (Çelikkanat and ¸Sahin,2010). 42 2.6 The finite state machine of the basic foraging algorithm . 44 3.1 model of system development life cycle . 52 3.2 A bird’s-eye view of a chromosome containing only one gene (obstacle). In the simulator, the height of each obstacle is set to be 1 meter. 56 3.3 A model of how Headquarters and Observer operate. 67 3.4 A model of the working procedure of the test case genera- tor. GA step2 to step 5 is listed in section 3.2.5. 69 4.1 Angular Order . 75 4.2 A comparison between the path found by A* algorithm (red) and the path found by modified version of A* algorithm (blue). 76 4.3 An example of how a swarm is split into two clusters. 77 4.4 Fitness values for four different orientations of a swarm. The white.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    168 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us