Formal Methods for the Design and Analysis of Robot Swarms
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITE´ LIBRE DE BRUXELLES Ecole Polytechnique de Bruxelles IRIDIA - Institut de Recherches Interdisciplinaires et de Developpements´ en Intelligence Artificielle Formal methods for the design and analysis of robot swarms Manuele BRAMBILLA Promoteur de These:` Prof. Marco DORIGO Co-Promoteur de These:` Prof. Mauro BIRATTARI These` present´ ee´ en vue de l’obtention du titre de Docteur en Sciences de l’Ingenieur´ Annee´ academique´ 2013-2014 ii iii This dissertation has been submitted in partial fulfillment of the requirements to obtain the doctoral degree at Universite´ Libre de Bruxelles. This dissertation has not been previously submitted to Universite´ Libre de Bruxelles nor any other university or organization. The work that is presented in this dissertation is based upon a number of publications of the author. Short quotations from the dissertation are permitted, provided that the original source is acknowledged. Copyright R 2014 by Manuele Brambilla iv Abstract In this dissertation, we tackle two of the main open problems in swarm robotics: design and verification. We do so by using formal methods, in particular model checking. Designing and developing individual-level behaviors to obtain a desired swarm-level goal is, in general, very difficult, as it is difficult to predict and thus design the non-linear interactions of tens or hundreds of individual robots that result in the desired collective behavior. The most common approach to the design of robot swarms is the bottom-up approach: in a trial-and-error process, the designer develops and improves the behavior of the individual robots until the desired collective behavior is obtained. This approach is not optimal: being a non-structured approach, the quality of the obtained swarm depends completely on the ingenuity and expertise of the designer. Moreover, the trial-and-error process is time consuming and cannot provide guarantees on the obtained results in terms of system correctness and properties. In this dissertation, we present our novel contribution to the top-down design of robot swarms: property-driven design. Property-driven design is based on the concepts of prescriptive modeling and model checking. Using property-driven design it is possible to design robot swarms in a systematic way, realizing systems that are “correct by design”. We demonstrate property-driven design on two case-studies: aggregation and foraging. Developing techniques to analyze and verify a robot swarm is a necessary step in order to employ swarm robotics in real-world applications. Swarm robotics systems are particularly challenging to analyze: robot swarms can be observed and thus analyzed at the macroscopic or microscopic level. Usually, robot swarms are analyzed using computer simulations or rate equations. Computer simulations are an irreplaceable tool for analyzing the behavior of a robot swarm. However, they can only validate a small subset of the possible execution scenarios and are impractical to exhaustively verify a collective behavior. Rate equations, instead, are able to analyze the steady-state behavior of a robot swarm, that is, its v vi long-term average behavior. However, with rate equations it is difficult to analyze the evolution of the swarm’s behavior or any far-from-equilibrium anomalies. In this dissertation, we explore the use of formal methods, in particular of model checking, to analyze and verify the properties of robot swarms. Model checking allows us to formally describe a set of desired properties of a system, in a more powerful and precise way compared to other mathematical approaches, and verify whether a given model of a system satisfies them. We propose two different approaches: we develop a model of a robot swarm performing collective decision using Bio-PEPA, which allows researchers to define a single high level model that can then be analyzed using stochastic simulations, rate equations and model checking; we also develop a model of a collective transport behavior using Klaim, which allows researchers to capture both the hardware and the behavior of the robots used. vii viii Acknowledgments I joined IRIDIA in 2008, when I was just a master student, eager to discover the world of swarm robotics. At that time, I did not know that IRIDIA is much more than a laboratory, IRIDIA is a family. During my time at IRIDIA many people have come, some have left, but all of them have contributed to create the fantastic atmosphere of IRIDIA and they will always have a special place in my heart. First of all, I would like to thank Marco. He gave me the opportunity to join IRIDIA and has supported me during my years here. His “sink or swim” approach to supervision is a bit scary sometimes, but it gives you the necessary push to become a good researcher—if you don’t sink :) I would also like to thank Mauro. Mauro is not only a good friend, but an excellent supervisor and an amazing teacher. He has taught me so much during our everyday discussions and long meetings that it is difficult for me to thank him properly on paper. A special thank to Carlo. Carlo has been there for me from the first day I joined IRIDIA (he arrived late, but still). He has been a great supervisor for my master thesis, and a great friend and colleague ever since. Carlo was one of the main reasons for me to join IRIDIA. Another special mention for Eliseo, who is a great friend and has been the partner for countless discussions, scientific and not. I will always remember the many many hours spent working together on the review, for Swarmanoid, playing games and making pizza. Thanks also to Gio. Giovanni is the perfect mixture of a very professional colleague, a great beer buddy and a psychopath. I will also always remember the time spent with Gio, both at IRIDIA, for a long time in the same office, and in “the place with the lake” together with our friend Faislossli. Special thanks to Ale, a great friend, officemate and the best at complaining; thanks to Nithin, the always positive officemate. Thanks also Gianpiero, for all the great work done together. I want to thank all the damned souls of the Swarmanoid project I haven’t ix x mentioned yet: Ali, my Turkish brother; Arne, the brutal side of swarm robotics; Rehan, the “director”; James, Tim, Fred and all the people at EPFL. It’s been hard, but we made it! Thanks to the people who worked with me on the research presented in this thesis: Mieke, Diego, Edmond, Michele, Rosario, Francesco. Thanks to all the IRIDIAns (in random order): Marco M., Sambo, *Borrotti, Alex C., Antal, Michele, Paola, Xico, Alex S., Prasanna, Sara, Matteo, Yara, Ste- fanie, Jessica, Gabri, Cristina, Alessandra, Tianjun, Manuel, Franco, Bruno, Car- lotta, Vito, Saifullah, Jeremie, Sabrina, Eric, Andrea, Gio R., Anthony, Leonardo, Lorenzo, Dj, Roman, Leslie, Gaetan, Tarik, Touraj, Colin, Muriel. Hopefully I didn’t forget anybody. Thanks also to all my friends in Brussels, for making my last years special. Thanks to (in random order): the Lazy Bobos: Julian, Nico, Fanny (best neighbor ever), Anthony; Elisa B., Luisa, Silvio, Stefania, Cate, Fra B., Jorge, Tinna, Annika, Inga, Jacob, Roberto, Andrea, Anna, Alberto, Fra P., Enrico, Marco V., Antoine, Ilaria, my Leuven buddies: Davide, Adamo, Dondi, Damiano, Ann; Claudio, Marta, Camilla, Alex, Anni, Ela, Vivi, Maria, Silvia G. M., Silvia M., Silvia P., Elisa C., Lara, Sachin, Amalia, Paloma, Amandine, Yana, Sanne and you who are reading but I forgot, sorry! Thanks to all my friends in Italy, I don’t make a list because otherwise these acknowledgements will be longer than the thesis itself. Thanks! Un grazie speciale alla mia famiglia: grazie mamma, Mario e Teo e a tutti gli zii per avermi dato tutto il vostro supporto e affetto anche lontano da casa e per aver creduto in me; senza di voi non sarei mai arrivato fino a qui. Finally a very special thanks to Elisabetta, I love you. Contents Abstractv Acknowledgments ix Contents xii 1 Introduction1 2 Background9 2.1 Swarm robotics .............................. 9 2.1.1 Design ............................... 13 2.1.2 Analysis .............................. 19 2.1.3 Collective behaviors ....................... 27 2.1.4 Open issues in swarm robotics . 45 2.2 Formal methods .............................. 48 2.2.1 Model formalisms for model checking . 49 2.2.2 Property definition languages for model checking . 54 2.2.3 Model checking .......................... 57 3 Design of robot swarms using model checking 61 3.1 Introduction ................................ 61 3.2 Property driven design .......................... 62 3.3 Case studies ................................ 64 3.3.1 Aggregation ............................ 64 3.3.2 Foraging .............................. 71 3.3.3 Discussion ............................. 84 3.4 Summary .................................. 86 xi xii CONTENTS 4 Analysis of robot swarms using model checking 87 4.1 Analysis of a robot swarm using Bio-PEPA . 87 4.1.1 Bio-PEPA ............................. 89 4.1.2 Collective decision-making: a Bio-PEPA specification . 92 4.1.3 The Bio-PEPA specification ................... 95 4.1.4 Analysis ..............................102 4.1.5 Stochastic simulation . 102 4.1.6 Statistical model checking . 103 4.1.7 Fluid flow analysis . 110 4.1.8 Summary .............................118 4.2 Analysis of a collective transport behavior using Klaim . 120 4.2.1 A collective robotics scenario . 121 4.2.2 Formal foundations of the verification approach . 125 4.2.3 Specification of the robotics scenario . 128 4.2.4 Stochastic specification and analysis . 135 4.2.5 Summary .............................139 4.3 Discussion .................................141 5 Conclusions 143 A The robots and the simulation platform 147 A.1 The e-puck robot .............................147 A.2 The TAM ..................................149 A.3 The foot-bot robot .............................150 A.4 The ARGoS simulator . 152 Bibliography 155 Chapter 1 Introduction The history of mankind has been characterized by the development of tools: since the invention of the stone hand axe, humans have developed aids to carry out more and more complex tasks.