Classification and Management of Computational Resources Of
Total Page:16
File Type:pdf, Size:1020Kb
Classification and Management of Computational Resources of Robotic Swarms and the Overcoming of their Constraints By: Stefan Markus Trenkwalder A thesis submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy The University of Sheffield Faculty of Engineering Department of Automatic Control and Systems Engineering Sheffield, 24th March 2020 Abstract Swarm robotics is a relatively new and multidisciplinary research field with many potential applications (e.g., collective exploration or precision agriculture). Nevertheless, it has not been able to transition from the academic environment to the real world. While there are many po- tential reasons, one reason is that many robots are designed to be relatively simple, which often results in reduced communication and computation capabilities. However, the investigation of such limitations has largely been overlooked. This thesis looks into one such constraint, the computational constraint of swarm robots (i.e., swarm robotics platform). To achieve this, this work first proposes a computational index that quantifies computational resources. Based on the computational index, a quantitative study of 5273 devices shows that swarm robots provide fewer resources than many other robots or devices. In the next step, an operating system with a novel dual-execution model is proposed, and it has been shown that it outperforms the two other robotic system software. Moreover, results show that the choice of system software determines the computational overhead and, therefore, how many resources are available to robotic software. As communication can be a key aspect of a robot’s behaviour, this work demonstrates the modelling, implementing, and studying of an optical communication system with a novel dynamic detector. Its detector im- proves the quality of service by orders of magnitude (i.e., makes the communication more reli- able). In addition, this work investigates general communication properties, such as scalability or the effects of mobility, and provides recommendations for the use of such optical commu- nication systems for swarm robotics. Finally, an approach is shown by which computational constraints of individual robots can be overcome by distributing data and processing across multiple robots. I II ABSTRACT Acknowledgements I would like to express my gratitude to a number of people for their support and guidance. Namely, I thank my supervisors — Dr. Roderich Groß, Dr. Andreas Kolling, and Prof. Robert F. Harrison for their support and guidance. I wish to extend my special thanks to the Aus- trian Academy of Sciences (ÖAW) for awarding me the DOC fellowship and my fellowship supervisor Dr. Radu Prodan. The assistance provided by many members of the department of automatic control and systems engineering was greatly appreciated. In particular, I would like to thank Dr Iñaki Esnaola for his support and guidance even though I was not one of his PhD students. I wish to express my gratitude to all the members of my research group and Sheffield Robotics for all of the friendships, advice, and discussions of ideas. To name only a few, I had a privilege to meet, work alongside with, and learn from Christina Georgiou, Fernando Perez-Diaz, Gabriel Kapellmann Zafra, Joao Vasco Marques, Melvin Gauci, Natalie Wood, Yuri Kaszubowski Lopes. My time at the University of Sheffield would not have been the same without them. Finally, I want to express my sincerest thanks and appreciation to my parents Johann and Sabine for all the support and guidance. I would not have had the chance to reach this mile- stone without their many sacrifices for my sake. Lastly, I would like to thank Izabela Sylwia Stopinska for her sheer endless patience, support, and help to allow me to finalise this project. III IV ACKNOWLEDGEMENTS Contents Abstract I Acknowledgements III 1 Introduction 1 1.1 Problem Statement . .3 1.2 Objectives . .4 1.3 Preview of Contributions . .4 1.4 Publications . .5 1.5 Thesis Outline . .6 2 Robotic Systems 9 2.1 Computational Quantification & Classification . 10 2.1.1 Computational Index . 14 2.1.2 Computational Classification . 15 2.1.3 Discussion . 15 2.2 Robotic System Software . 17 2.2.1 Cloud-Enabled System Software . 17 2.2.2 Robotic Middleware . 18 2.2.3 Robotic Languages & Virtual Machines . 20 2.2.4 Comparison . 22 2.3 Robotic Tasks . 24 2.4 Discussion . 25 3 Processing on Severely-Constrained Robots 27 3.1 Existing Operating Systems . 28 3.1.1 Generic Operating Systems . 28 3.1.2 Smart-Card Operating Systems . 28 3.1.3 Sensor Network Operating System . 29 3.1.4 Discussion . 30 3.2 OpenSwarm . 31 3.2.1 Architecture . 31 3.2.2 Execution Model . 32 3.2.3 Memory Module . 38 3.2.4 Hardware Abstraction Layer . 39 3.2.5 Implementation . 41 3.2.6 Discussion . 41 3.3 Evaluation . 42 3.3.1 Memory Overhead . 43 3.3.2 Processing Overhead . 44 V VI CONTENTS 3.3.3 Swarm Robotics Case Study . 47 3.4 Discussion . 54 4 Communication on Severely-Constrained Robots 57 4.1 Existing Communication Systems . 58 4.1.1 Cloud Robotics . 58 4.1.2 Telerobotics . 58 4.1.3 Multi-Robot Systems . 58 4.1.4 Discussion . 60 4.2 Swarm Robotics Network . 61 4.3 Channel Model . 61 4.3.1 Emitter-to-Detector Model . 62 4.3.2 Robot-to-Robot Model . 63 4.3.3 Measurement Model . 63 4.3.4 Parameter Identification . 64 4.3.5 Channel Model . 70 4.3.6 Model Evaluation . 70 4.3.7 Discussion . 71 4.4 SwarmCom: A MANET for Severely-Constrained Robots . 73 4.4.1 Modulation . 73 4.4.2 Demodulation . 73 4.4.3 Channel Coding . 77 4.4.4 Medium Access Control . 79 4.4.5 Implementation . 80 4.4.6 Discussion . 80 4.5 Evaluation . 81 4.5.1 Static-Robot Evaluation . 81 4.5.2 Mobile-Robot evaluation . 88 4.5.3 Discussion . 100 4.6 Discussion . 100 5 Dist. Processing on Severely-Constrained Robots 103 5.1 Distributed Extension of OpenSwarm . 104 5.1.1 Remote Procedure Call . 104 5.1.2 Consensus . 105 5.1.3 Synchronisation . 105 5.1.4 Discussion . 105 5.2 Evaluation . 106 5.2.1 Environment . 106 5.2.2 Solution . 107 5.2.3 Implementation . 113 5.2.4 Experiment Setup . 113 5.2.5 Experiment Procedure . 114 5.2.6 Results . 114 5.2.7 Discussion . 115 5.3 Discussion . 118 Conclusions 121 CONTENTS VII I Appendix 125 A e-Puck Robot 127 A.1 Properties . 127 A.1.1 Computational Properties . 127 A.1.2 Physical Properties . 127 A.1.3 Communication Properties . 130 A.2 Extensions . 132 A.3 e-Puck 2 . 132 B OpenSwarm Implementation Details 133 B.1 System Calls . 133 B.1.1 Initialise and Start . 136 B.1.2 Process Management . 136 B.1.3 Event Management . 136 B.1.4 Interprocess Communication . 137 B.1.5 Interprocess Synchronisation . 137 B.2 System Events . 138 B.3 I/O Modules . 138 B.3.1 ADC Module . 138 B.3.2 Bluetooth Module . ..