Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
The interplay between networks and robotics: networked robots and robotic routers
(USC Thesis Other)
The interplay between networks and robotics: networked robots and robotic routers
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
THE INTERPLAY BETWEEN NETWORKS AND ROBOTICS: NETWORKED ROBOTS AND ROBOTIC ROUTERS by Marcos Augusto Menezes Vieira A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulllment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (COMPUTER SCIENCE) December 2010 Copyright 2010 Marcos Augusto Menezes Vieira Acknowledgements I would like to thank Professor Ramesh Govindan and Professor Gaurav S. Sukhatme for being excellent advisors, giving me the opportunity to get involved in a wide range of projects, and guiding me throughout those projects. I also thank Professors Bhaskar Krishnamachari, Nenad Medvidovic, and Milind Tambe for serving on my committee, and for their valuable feedback and suggestions. I would like to acknowledge my collaborators. Tenet was a joint work with Omprakash Gnawali, Jeongyeup Paek, Ki-Young Jang, Ben Greenstein, John Hicks, August Joki, Prof. Eddie Kohler, and Prof. Deborah Estrin. Thanks to Lamia Chouaieb and Niklas Goddemeier for the contribution to the wall-following component in the Pursuit-Evasion Game project. The micro- motion work was a joint work with Matthew E. Taylor, Prateek Tandon, Manish Jain. Although not part of this dissertation, the Collective Transport of Robots project was a joint work with Megha Gupta, Jnaneshwar Das, Hordur Heidarsson, Harshvardhan Vathsangam. I am also grateful to Professor David Kempe for letting me be the USC Programming Coach for many years. I would like to thank my labmates from whom I also learned from their experience in the PhD process. Finally, thanks to my family and friends for their support. ii Table of Contents Acknowledgements ii List Of Tables v List Of Figures vi Abstract viii Chapter 1: Introduction 1 1.1 Design Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Dissertation Overview and Contributions . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Dissertation Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Dissertation Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Chapter 2: Literature Review 8 2.1 Pursuit-Evasion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Robotic Routers: Micro-Motion . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 Robotic Routers: Macro-Motion . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapter 3: Scalable and Practical Pursuit-Evasion with Networked Robots 17 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2 Assumptions, Terminology and Denitions . . . . . . . . . . . . . . . . . . . . 20 3.3 Optimal Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.1 Equipotent players . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.2 Superior Evader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.3 Optimal number of players . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4 Partition Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4.1 Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.4.2 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.5 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.5.1 Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.5.2 Network-Assisted Localization . . . . . . . . . . . . . . . . . . . . . . . 43 3.5.3 Wall-following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.5.4 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 iii 3.6 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.6.1 Optimal Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.6.2 Partition Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.7 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Chapter 4: Mitigating Multi-path Fading in a Mobile Mesh Network 58 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.3 Can Micro-Motion Improve Throughput? . . . . . . . . . . . . . . . . . . . . . 62 4.3.1 The Robot Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.3.2 Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.3.3 Throughput Improvement . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.4 Using Distributed Reasoning for Micro-Motion Based Throughput Improvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.5.1 Local Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.5.2 Optimizing with More Positions . . . . . . . . . . . . . . . . . . . . . . 73 4.5.3 Temporal Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.5.4 An experiment with more robots . . . . . . . . . . . . . . . . . . . . . . 77 4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Chapter 5: Towards Autonomous Wireless Backbone Deployment in Highly-Obstructed Environments 79 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.3 Solution Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.3.1 Radio Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.2 Attenuation in the Presence of Walls . . . . . . . . . . . . . . . . . . . . 86 5.4 The PFWD Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.4.1 Potential Fields in PFWD . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.4.2 The Deployment Decision in PFWD . . . . . . . . . . . . . . . . . . . 92 5.5 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.5.1 Validating the PFWD Tool . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.5.2 Validating the PFWD Algorithm . . . . . . . . . . . . . . . . . . . . . . 96 5.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Chapter 6: Conclusion 100 References 102 iv List Of Tables 2.1 Related Work in Pursuit-Evasion . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1 Instances of Games and their properties . . . . . . . . . . . . . . . . . . . . . . 48 3.2 Games and their properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.1 Necessary SNR for required data rate . . . . . . . . . . . . . . . . . . . . . . . 93 5.2 SNR Error Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 v List Of Figures 1.1 Design Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1 Topology with three corridors where the worst-case capture time varies with the number of pursuers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2 Capture time as a function of the number of pursuers . . . . . . . . . . . . . . . 35 3.3 An instance of a game which will terminate with huge capture time if pursuers play a greedy strategy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.4 Team of Creates which depicts our robot platform - the iRobot Create with an Ebox 42 3.5 Layout of the two-tier network testbed which is composed of Stargates (upper- tier) and wireless sensor motes (lower-tier) . . . . . . . . . . . . . . . . . . . . . 43 3.6 Network-assisted localization estimates: unltered estimates (bottom) are noisy, ltered estimates (top) eliminate noise. . . . . . . . . . . . . . . . . . . . . . . . 45 3.7 Localization Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.8 A game where pursuer greedily follow the evader will not terminate in a cylinder Grid Topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.9 Given our denition of capture, a 2-2 game will not terminate in a ring topology. 50 3.10 The communication latency for detecting the robots. . . . . . . . . . . . . . . . 53 3.11 An illustration of 4 pursuer, 2 evader game sequence. The nodes and solid undi- rected edges connecting them represent the topological map. The solid directed lines (lines with arrows) show the pursuer path as determined by the localization system. The dashed lines illustrate the evader path. The edge labels represent the time sequence of the robot. The pursuer and evader's initial positions are indicated by the corresponding icons. . . . . . . . . . . . . . . . . . . . . . . . 54 vi 3.12 The Mean Capture Time for three game congurations played with centralized and distributed location updates. The third bar is the average capture time from simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.1 This picture shows part of the experiment set up, which has a team of iRobot Creates with an Ebox. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2 Initial Conguration of Team of Creates . . . . . . . . . . . . . . . . . . . . . . 64 4.3 UDP Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.4 TCP Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.5 Sorted Total UDP Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.6 Sorted Total TCP Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.7 This gure depicts a three agent DCOP. . . . . . . . . . . . . . . . . . . . . . . 69 4.8 Improvement per metric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.9 Experiment Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.10 Static Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.11 Experiment Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.1 A sketch of the problem and a solution over a oorplan . . . . . . . . . . . . . . 81 5.2 Triangle inequality does not hold for path loss . . . . . . . . . . . . . . . . . . . 86 5.3 The space partition of wireless signals might result in disjointed cells . . . . . . . 87 5.4 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.5 Robot platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.6 Environment with 3 clients and 3 robots . . . . . . . . . . . . . . . . . . . . . . 97 5.7 Environment with 4 clients and 2 robots . . . . . . . . . . . . . . . . . . . . . . 98 vii Abstract In this work, we explore the interplay between robotics and networks. Robots can benet from an embedded network and also the network can benet from the mobility of the robots. We investigate the design space where the application is oriented towards robotics or network- ing, considering how much information about the environment is provided and what the sensing capabilities are. At one end, the robots can benet from the resources of an environment-embedded network, in which robot sensing and communication is enhanced by the network. We consider the design and implementation of practical pursuit-evasion games with networked robots, where a com- munication network provides sensing-at-a-distance as well as a communication backbone that enables tighter coordination between pursuers. Using the theory of zero-sum games, we develop an algorithm that computes the minimal completion time strategy for multi-pursuit multi-evasion when all players make optimal decisions based on complete knowledge. We then describe the design of a real-world mobile robot-based pursuit evasion game. We validate our algorithms by experiments in a moderate-scale testbed in a challenging ofce environment. We then show that the network can also benet from Robotics by taking advance of micro and macro motion. Robots can mitigate multi-path fading. We design a system that allows robots viii to cooperate and improve the real-world network throughput via a distributed cooperation frame- work. A mobile wireless network can also be quickly and autonomously deployed in urban search and rescue efforts, forming a communication substrate. We study the problem of determining the minimum number of mobile robots and how to position them so all clients are connected. Our approach to the problem is based on virtual potential elds where we treat each client as a virtual charged particle. We validate our algorithm with physical robots in an indoor environment and demonstrate that we are able to get feasible solutions. ix Chapter 1 Introduction With the advances in processor, memory, sensor and radio technology, COTS components en- able the design of robots with wireless capabilities and also embedded wireless networks with computational, sensing and actuation capabilities. An embedded network can provide sensing, communication and computational resources to the robots. The robots make use of the resources of an environment-embedded network, in which robot sensing and communication is enhanced by the network. The embedded network allows simple robots to perform complex tasks such as pursuit-evasion wherein robots must pursue and catch evaders. On the other hand, by enabling wireless components with actuation capabilities, we can have robots acting as routers. A team of networked robots can provide a communication substrate, establishing a wireless mesh network. Robots might mitigate many of the communications prob- lems present in urban settings, such as relaying signals into shadows and making small adjust- ments to reduce multi-path effects. The mobile mesh network can autonomously optimize its conguration, increasing performance. Robots as routers have applications in various settings 1 such as forming a connection backbone in an infrastructure-less setting [1] or venturing where humans can not go to search for survivors in disasters. In this dissertation, we explore the space where robots can benet from an embedded network and also when the network benets from the mobility of the robots. At one end, the robots can benet from the resources of an environment-embedded network, in which robot sensing and communication is enhanced by the network. We consider the design and implementation of practical pursuit-evasion games with networked robots, where a communi- cation network provides sensing-at-a-distance as well as a communication backbone that enables tighter coordination between pursuers. We then show that the Network can also benet from Robotics by taking advance of micro and macro motion. One of the main sources of radio signal fading in urban settings is multi-path prop- agation. Robots can mitigate multi-path fading by making small movements. We design a system that allows robots to cooperate and improve the real-world network throughput via a distributed cooperation framework. A mobile wireless network can also be quickly and autonomously de- ployed in urban search and rescue efforts, allowing searchers to communicate even when no other infrastructure exists. We study the problem of determining the minimum number of mobile robots and how to position them so all clients are connected. Our approach to the problem is based on virtual potential elds where we treat each client as a virtual charged particle. We validate our algorithm in an indoor environment. 2 1.1 Design Space Here, we describe the design space of the iteration between robotics and networks. The design space of the combination of robots and routers can be classied across three dimensions, as depicted in Figure 1.1. Goal Sensing Capabilities Location Coarse-grained Fine-grained Complete Minimal Robotics Networks Design Space Pursuit-Evasion Mitigating Multi-path fading with Robotic Routers Wireless Backbone Deployment Figure 1.1: Design Space ² Goal: the application is oriented towards Networking or Robotics. Robots can make use of network capabilities for communication, computation and sensing. Networks can make use of actuation capabilities from robots to improve wireless performance by avoiding multi- path fading. Networks can also take advantage of mobility to increase its coverage space, connecting a set of clients togethers by forming a backbone. ² Sensing Capabilities: indicates the set of sensors the robots need. Robots might have min- imal capabilities. Robots with odometer (and nothing else) will not be able to maintain 3 accurate metric estimates of location and might thus be operating virtually blind. For- tunately, a wireless sensor network can increase their sensing-at-distance capabilities. On the other hand, robots might have a complete set of sensors. For instance, with a GPS, or with a camera/scanner coupled with an accurate prior map, a robot can pinpoint its position precisely. ² Location: it indicates how much useful" information a robot has about the region within which its movement will occur. Robots can have coarse-grained or ne-grained informa- tion. In a coarse-grained system, the environment is modelled as a topological map, whose nodes correspond to coarse-grained regions and whose links connect neighboring regions. Systems with ne-grained location have a more accurate prior map and might also include the position of obstacles and building structures. Our work investigates the design of systems represented by triangles in Figure 1.1. The Pursuit-Evasion is designed to use minimal sensing capabilities and coarse-grained location. Mit- igating multi-path fading is also design to use minimal sensing capabilities and coarse-grained location but it is networked oriented. Finally, to guarantee the communication of a set of clients by deploying a wireless backbone, we explore the space where robots have a map of the environ- ment that includes building structures and obstacles and are capable of navigating using enough sensors. 1.2 Dissertation Overview and Contributions The underlying theme in our research is studying, understanding and exploring the interplay between Networking and Robotics. 4 Initially, we show that the robots can benet from the resources of an environment-embedded network, in which robot sensing and communication is enhanced by the network. To this end, we provide the following main contributions. First, we describe an optimal capture time algo- rithm to minimize the time to capture of a multi-pursuer multi-evader game, even with optimal adversarial evader behavior. Second, we extend this algorithm to the case when the evaders are innitely faster than the pursuers. Although these algorithms are optimal, they are exponential in the number of players. Thus, our third contribution is a scalable algorithm which guarantees performance close to optimal. We then describe the design of a real-world mobile robot-based pursuit evasion game. Finally, we validate our algorithms by experiments on a moderate-scale real-world testbed. At the other end, we show that the network can also benet from Robotics by taking advance of micro and macro motion. Our main contribution when networks take advantage of micro- motion are as follows. First, we show experimentally that, at least on our testbed, up to a factor of three improvement in TCP throughput can be obtained by robotic micro-motion. This is en- couraging, since our experiments were fairly adversarial, suggesting that similar gains could be had in other environments. Second, we present the design of a practical system for coordinated robotic micro-motion. This system contains a novel use of a distributed constraint optimization framework: in this framework, robots make local measurements of a wireless performance met- ric, then decide, in coordinated fashion, which robot should move, and in what direction. This computation is executed iteratively, until the network converges to an improved throughput state. An important component of this framework is the choice of wireless performance metric: we em- pirically explore four different metrics, and show that a carefully chosen local metric can achieve a near-optimal performance. Finally, we evaluate our system with physical robots in an indoor 5 environment and demonstrate that we are able to get an average global throughput improvement of 30% while maximizing only local metrics and with no a priori knowledge of the environment. Finally, we explore the space where Networking can benet from macro motions of mobile robots. We study the problem of determining the minimum number of mobile robots and how to position them so all clients are connected and the each link can provide some throughput require- ments. Our approach to the problem is based on virtual potential elds.A team of mother ship robots deploys robots while following the combination of virtual forces. The Potential Fields de- termine where the mother ship robot should move, guaranteing that they will meet at a rendezvous point. While moving, the mother ship robots execute the connectivity algorithm, which guaran- tees all clients will be connected. The main contributions of this work are as follows. First, we describe an algorithm based on virtual potential elds to solve the problem even in a non-metric space or in the present of obstacles. Secondly, we present analysis for the algorithm performance. We show that the algorithm is optimal for simple cases using our simulator. Finally, we evaluate our system with physical robots in an indoor environment and demonstrate that we are able to get feasible solutions. 1.3 Dissertation Statement Simple robots acting as a part of Mobile Networked Systems can perform multi-robot complex tasks efficiently, benefiting from sensing, communication and computational network resources. Moreover, Network Systems can also benefit from autonomous mobility to improve network per- formance. 6 1.4 Dissertation Outline This dissertation is organized as follows. We provide the literature review in Chapter 2. In Chap- ter 3, we describe our work on using wireless sensor network to enable simple robots to perform complex tasks such as Pursuit-Evasion Game in Chapter 3. Next, in Chapter 4, we describe the design and implementation of a distributed system composed of robotic routers that mitigates multi-path fading in a mobile mesh network by moving small steps ( we call it micro-motion). In Chapter 5, we study the case when robotic routers move in bigger steps (we call Macro-Motion) so that the minimum number of robots can guarantee connectivity in Indoor Environments. In Chapter 6, we summarize our work and discuss future work. 7 Chapter 2 Literature Review We discuss research that falls into Pursuit-Evasion and Robotic Router categories. 2.1 Pursuit-Evasion Our broad interest is in the theme of using pervasive sensing and communication infrastructure with actuation. In the robotics and sensor networking communities this area has burgeoned re- cently. Examples include investigations on sensor-network guided robot localization [19], sensor- network guided robot navigation [46, 59, 6, 8] and exploration [53], robot-assisted sensor net- work localization [19], robot-assisted sensor network deployment [32, 18, 53] and sensor-network guided robot pursuit-evasion [58]. Like with body of work discussed above, we are interested specically in the coordination and control of actuation using pervasive sensing and communication infrastructure. We distinguish our work (both in the choice of problem and the solution space we explore) from these approaches by 1. choosing a problem (PEG) which is only beginning to be addressed in the embedded network and robot context, yet has a rich history in the classical literature (using robots alone), 2. 8 choosing an experimental testbed based on unmodied commodity hardware (the Creates from iRobot and the TelosB motes). We note that the sensor networking community has championed (for a decade) several gen- erations of the mote devices as minimal yet useful sensing and communication nodes. These have served as a baseline on which to implement and test ideas on sensor network routing, data- dissemination, localization, and many others. [74] [5] [71] [29] [36] [76] [58] Our work Pursuer to ¸ 1 ¸ 1 1 ¸ 1 ¸ 1 ¸ 1 1 À 1 Evader Ratio Pursuer full full full local local local full full Visibility Evader full full full full full local none full Visibility Information full full full full full no pursuer full full Environment Graph Graph Polygon Polygon Polygon Polygon Polygon Graph Capture touch touch touch see touch touch touch touch Faster Entity any same same same evader any same any Capture yes no no no no no no yes Time Robot None None None None None Partial Partial Full Implementation Table 2.1: Related Work in Pursuit-Evasion To situate our work in the existing literature, we classify the type of PEGs using seven criteria: the ratio of the number of pursuers to the number of evaders; whether pursuers and evaders have full and/or global visibility, or whether they can only see within a threshold distance or until occluded by an obstacle (usually modelled by the edge of a polygon in 2D); what additional information robots have with respect to the opponents' strategy or planning algorithm; whether the environment is modelled as a graph (discrete) or a polygon (continuous half-space with lines in 2D as boundaries); how the evader is captured, whether by being surrounded, seen or sensed by the pursuer, or approached within a certain distance, or physically contacted; the relative speed between the pursuer and evader;and, if the time to capture is important. 9 Table 2.1 shows a classication of the related work in the literature along these dimensions. Our work is distinct from several pieces of prior work. Its novelty is clear in several dimen- sions: while other work has explored theoretical bounds on eventual capture [5, 71], or pursuit- evasion under constrained geometries [29, 54, 10, 15], or has examined sophisticated control strategies [76, 58], our proposed work attempts to minimize the time of capture of a multi-pursuer multi-evader under the pragmatic realization of physical multi-robot games. Complementary to our work, [74] discusses a dynamic programming algorithm to maintain connectivity in a team of robotic routers in the case where there is one user moving in an ad- versarial trajectory. The problem is modeled as a pursuit-evasion game, with the goal of nding the shortest escape trajectory. There is no discussion on how to initially detect the evader. The algorithm has complexity O(v 3(p+1) ). They presented simulation results and were seeking an improved running time. In [9], an algorithm to determine if K pursuers are sufcient to capture an evader is presented. They also showed that every graph is topologically equivalent to a graph with pursuer number at most two. In the survey presented by Alspach [7], a number of references on the necessary number of pursuers for a given graph class can be found. Aigner and Fromme [5] proved that in a planar graph G, 3 pursuers are sufcient for the pursuers to win the game. Quilliot [65] extended this result, giving an upper bound to the number of pursuers depending on the genus of the graph G. In [56], the necessary number of pursuers is studied under three graph product operations. In [27], given certain conditions, the complexity of pursuit on a graph is Exptime-complete. For superior evaders, Seymour [70] showed that nding the necessary number of pursuers to capture a single evader with innite velocity in a graph G when pursuers and evader move 10 simultaneously is equivalent to nding the treewidth of G. Other works [78][77] focus on an Euclidean open plane and provide sub-optimal real-time approaches. We are the rst to present a scalable algorithm to minimize the time to capture of a multi- pursuer multi-evader game, and to validate the complete system in a real-world implementation. 2.2 Robotic Routers: Micro-Motion Using small movements to combat the multi-path fading effects in complex environments has promise and this paper is not the rst to examine such effects. In [48] [72], the authors showed that, for a pair of nodes, micro-motion can increase receive signal power and improve packet reception more than any coding scheme could achieve. We, on the other, focus on an approach to improve global network throughput using explicit coordinated micro-motion. Other work in- cludes [49], where the authors propose a methodology for exploiting multi-path fading by con- trolling the robot according to radio signal strength. They solve the problem of how many samples are needed for given communications performance and how they should be spaced. They provide lower bounds on the number of samples for a single robot. Using 802.15.4 radio, they also show there is room for improvement (as much as 20 dB in RSSI). Other approaches have leveraged more general forms of mobility (beyond micro-motion) for network throughput improvement or to build and congure mobile mesh networks. Early theoret- ical work [28] shows that mobility increases capacity with random source-destination pairs with loose delay constraints. Other work [35] considers the problem of controlling a team of robots to ensure end-to-end communication. To mitigate environmental interference, they propose two 11 different metrics, point-to-point signal strength and data throughput, to monitor the network con- nectivity of the system. Even ad-hoc communication protocols pose difcult challenges during multi-robot experimentation, as shown by the authors of [82]. However, their focus is not on micro-motions, they need a map of the environment and optimizing network throughput is not one of their goals. Complementary to our work, [74] discusses a game-theoretic dynamic programming algo- rithm to guarantee that a single mobile user is connected to a base station by moving a chain of robotic routers. Multiple-input multiple-output (MIMO) [61] techniques with multiple antennas[30] take ad- vantage of spatial diversity and spatial multiplexing and can improve the performance by avoiding deep fades through diversity. Our approach is complimentary, since it uses explicit micro-motions to improve performance. A Delay-tolerant networking (DTN) [22][38] is a computer network that may lack continu- ous network connectivity but is still operable. DTNs can take advantage of mobility to deliver messages. Unlike DTNs, where nodes may only have intermittent connectivity, our work applies in the context of mesh networks where a communication backbone of this exists in the network. The distributed constraint optimization framework has been studied extensively in the multi- agent literature. In [37], the D-CEE framework is presented to study the problem of how to coordinate mobile nodes to maximize the cumulative RSSI. The paper's focus is on algorithms to study the trade-off between exploration and exploitation. We, on the other hand, focus on different local metrics (SNR, PRR) and how it affects the overall network. We quantify how much gain the network can benet from small movements and how we can design a system to improve the real-world network throughput. 12 In addition to the DCOP work discussed in earlier sections, previous work in distributed con- straint reasoning in sensor networks [45, 83] uses a precursor method to the DCOP formulation which does not handle unknown reward matrices. Marder et al. [51] formulate dynamic sensor coverage as a potential game," which is similar to a DCOP. However, like other DCOP work, the reward matrix is known, there is no time limit, and only nal reward is considered. Cheng et al. [14] suggest an approach for coordinating a set of robots based on swarm intelligence, how- ever the objective of the work is to disperse the robots evenly within a specied shape, and not to optimize the signal strengths across the network. Correll et al. [20] look at optimizing a wireless network of mobile robots using a distributed swarm optimization, but are concerned with changing the topology (i.e., neighbors) of the net- work rather than optimizing signal strength. Gerkey et al. [24] address a similar problem, but use auction mechanism and the goals of agents are signicantly different (agents modify the topology of the network and on-line reward is not emphasized). Farinelli et al [23] perform decentralized coordination on physical hardware using factor graphs, however, rewards are known and cumu- lative reward is not considered. 2.3 Robotic Routers: Macro-Motion In [16], a similar problem is presented. Given a set of clients, robots move following a bio- inspired algorithm to increase communication coverage. Their work is designed for an unknown environment so, unfortunately, the proposed algorithm has no guarantees that the network will be connected. We, on the other hand, take advantage of a known global map to guarantee connec- tivity. We also do not focus on coverage but forming a backbone, which requires less number of 13 robots. Their work consider node failures, which we left as future work. Finally, we evaluated on a more signicative network metric (end to end TCP throughput) instead of RSSI signals. Our work is inspired by three prior pieces of work on area coverage, where two of them make uses of Potential Fields. Howard et al. [34] present a distributed and scalable approach to deploy robots such that the area covered by the network is maximized. Each node is repelled by both obstacles and by other nodes, thereby forcing the network to spread itself throughout the envi- ronment. Poduri et al. [64] extended the previous work to maximize the area coverage with the additional constraint that each node has at least K neighbors. Another important work on deploy- ment to increase coverage is [33], which uses a more simplistic radio model, considering only if radios have line-of-sight or not. In contrast to area coverage, PFWD focuses on guaranteeing connectivity between clients. A body of work has examined the problem of guaranteeing connectivity between a single mobile user and a base station, using a team of robots. Tekdas and Isler [74] presents a game theoretic approach: the problem is modeled as a pursuit-evasion game, with the goal of nding the shortest escape trajectory. Stump et al. [73] show that the quality of connectedness can be represented by the Fiedler value (second-smallest eigenvalue of a weighted Laplacian) from alge- braic graph theory; by increasing the Fiedler value, the connectedness is indirectly improved. Our problem setting is qualitatively different, that of deploying a team of robots to form a backbone for a collection of static clients. A related problem that has received some attention is that of maintaining connectivity among a team of mobile robots. Esposito and Dunbar [21] study the problem of maintaining connectivity for a team of robots in the presence of obstacles. The achieve this goal by adding potential elds corresponding to line-of-sight and distance range, guiding robot navigation. Their approach is 14 different from PFWD in two ways: they are not constrained by xed client positions; moreover, by constraining wireless propagation to line-of-sight they cannot leverage wireless propagation through walls, as we do. Hsieh et al. [35] study a complementary problem to ours, that of driving a team of robots to specic locations along a parameterized curve while maintaining point-to-point communication links. Two different metrics, point-to-point signal strength and data throughput, were used to monitor the network connectivity of the system. Their approach receives as input specic goal positions for each robot in the team; in PFWD, the goal positions are the output of the system. Several other tangentially-relevant pieces of work exist. Zeiger et al.[82] explore the perfor- mance of ad-hoc routing protocols by moving a single robot in a eld of static wireless nodes. Hseih et al. [81] address the problem of constructing radio signal strength maps with multiple robots. More precisely, they determine what sequence of moves a team of robots must perform to sample all edges in a given graph. The goal is to minimize the total number of robots' moves such that all edges in a given graph are sampled. Fall and others [22][38] discuss a delay-tolerant network architecture which uses mobile elements that may be intermittently connected, a goal different from that of PFWD. As discussed previously, it is possiblel to use geometric techniques based on V oronoi Dia- grams for deployment of robotic networks [11] but this techniques are not designed for non-metric spaces. A related problem in optimization is the Steiner Tree Problem. Given a weighted graph G = (V;E) and a subset Rµ V , the goal is to nd the smallest tree connecting all the vertices in R. This problem differs from the Minimum Spanning Tree in the sense that it allows to select intermediate connection points to reduce the cost of the tree. The Steiner Tree Problem is useful 15 for wire networks but is not designed for wireless networks, where the radio signal propagates in all directions. Finally, our problem bears supercial resemblance to the facility location problem in oper- ations research. The objective is to open a facilities so that each client can be connected to a facility while minimizing the total connectivity cost (there is a cost for connecting each client to a facility). In a non-metric space, Hochbaum [31] developed a O(logn) approximation. Unfortu- nately, this formulation does not apply to our multi-hop network, since we also need to consider the connectivity between facilities (robots in our case). 16 Chapter 3 Scalable and Practical Pursuit-Evasion with Networked Robots 3.1 Introduction We are motivated by practical problems in security and monitoring for large, structured, spaces (e.g., to ensure the integrity of a large building or complex). The problem we focus on is pursuit- evasion wherein robots must pursue and catch evaders. In Pursuit-Evasion Games (PEGs), multiple robots (the pursuers) collectively determine the location of one or more evaders, and try to corral them. The game terminates when every evader has been corralled by one or more robots. Since the denition of the discrete pursuit-evasion game by Parsons [60], PEGs have received signicant attention [5][56][65][29][71]. The main difference between existing approaches and our approach is that we play the multi-pursuer multi-evader game with full knowledge of the game. Pursuers make use of an embedded sensor network to have complete knowledge of the game. The main contributions of our work are as follows. First, we describe an optimal capture time algorithm (Algorithm 1) to minimize the time to capture of a multi-pursuer multi-evader game, 17 even with optimal adversarial evader behavior. Second, we extend this algorithm to the case (Algorithm 2) when the evaders are innitely faster than the pursuers. Although these algorithms are optimal, they are exponential in the number of players. Thus, our third contribution is a scalable algorithm (Algorithm 3) which guarantees performance close to optimal. Finally, we validate our algorithms by experiments on a moderate-scale real-world testbed. Several versions of PEG exist. In certain frameworks, it is acceptable to merely sight an evader for it to be located [29], in others, a precise coordinate must be reported [58]. Other formulations insist on a certain speed of convergence with fewer constraints on accuracy [5, 71]. Finally, formulations vary depending on whether the multi-robot control algorithm is required to have provably correct behavior, whether the number of evaders is known a priori, and whether they are malicious or benign. Each variation of the problem brings with it a different set of challenges, and several of these variations have been solved to varying degrees. In section 2, we provide a detailed review of the literature. We focus on PEGs in bounded, spatially complex environments similar to today's ofce en- vironments. In such environments, we can assume imperfect geometric regularity (e.g., the pres- ence of corridors and 90-degree turns, but possibly a regular placement of doorways or elevator exits). However, it is increasingly true that such environments are well provisioned with wireless communication capability, and that many such environments will likely have dense embedded sensing (for surveillance or environmental control). This environmental embedded sensing can provide, for the players, full knowledge of the game. We consider the class of PEGs played on a discrete graph [5][56][65]. Specically, we use a topological map of the environment, whose nodes correspond to coarse-grained regions and whose links connect neighboring regions [44, 52, 74]. Discrete graph-based games are acceptable 18 for many uses of pursuit-evasion (e.g., surveillance, nding survivors). Of course, the actual games execute in a continuous space, but the discrete graph is used to dene our game model and to localize the participants. The pursuers make use of the resources of an embedded network. This network provides sensing, communication and computational resources to the robots: Sensing: In the traditional setting the only sensing resources available to robots are the ones they carry. In our setting robots, via communication, effectively sense-at-a-distance. Networked sensing can provide proprioceptive as well as exteroceptive sensing (e.g. network nodes can track robot pose as well as environmental features) and potentially provides sensing redundancy. Communication: In addition to effectively increasing the sensing range of robots, the presence of the embedded network effectively extends the inter-robot communication range and improves the quality of inter-robot communication. Computation: The sensor network could potentially be viewed as a computational resource by the robots this is particularly true since sensor networks are no longer conned to large numbers of very simple networked processors. This means that the robot planning and coordination algo- rithms could run on one (or more) of the more capable nodes in the network, while the robots' onboard computation is restricted to low-level control loops and sensor ltering. In this work, we consider a version of the game in which p pursuers collectively attempt to capture r evaders (Section 3.2). We are interested in the convergence time of the game (i.e., the minimum number of steps for the pursuers to capture the evaders). We start by present- ing the rst provably minimal convergence time algorithm for multiple pursuers and multiple evaders(Section 3.3). In our formulation, all players have complete knowledge of the state of 19 other players, and the evaders also pursue an optimal evasion strategy. Based on the optimal pol- icy that pursuers should use in order to capture evaders with the minimum number of steps, we design an assignment algorithm that optimally decomposes the game (Section 3.4). Unfortunately, the computation required for this optimal algorithm does not scale beyond a small number of participants (less than 10, with today's technology). To provide a practical and scalable system, we consider an approximate strategy: we decompose the multi-player game into multiple multi-pursuer single-evader games. We prove that our approximation terminates, has bounded captured time, is robust, and is scalable in the number of robots, being suited for practical applications. Clearly, convergence time depends on the topology as well as on the number of pursuers and evaders: we explore these dependencies for a few canonical topologies (Section 3.6). Finally, we present results from running an implementation of our algorithm on a physical robot testbed (Section 3.7). The experiments conrm the feasibility of our algorithm, even on a worst-case initial conguration. 3.2 Assumptions, Terminology and Definitions In this section, we start by stating the sensing and communication assumptions for our PEGs, then discuss the class of games we are interested in. We then lay down some terminology, and formally dene the objective of our PEGs. This sets the stage to present the optimal capture time algorithm and also a scalable near-optimal algorithm for PEG, which are discussed in the next sections. We focus on PEGs in bounded, spatially complex, environments similar to today's ofce environments. In such environments, we can assume imperfect geometric regularity (e.g., the 20 presence of corridors and 90-degree turns, but possibly a regular placement of doorways or eleva- tor exits). Because such environments are obstructed, they present limited line-of-sight visibility. However, it is increasingly true that such environments are well provisioned with wireless com- munication capability, and that many such environments will likely have dense embedded sensing (for surveillance or environmental control). In this work, we assume such network-assisted environments; these environments provide sensing-at-a-distance to circumvent line-of-sight limitations. Moreover, they provide a network communication capability that enables much tighter coordination than would have been possible otherwise. More specically, the network a) contains sensors that are able to approximately localize all participants, and b) provides a communication backbone that enables participants to exchange game state. Based on these assumptions, we consider the class of PEGs in which all participants have complete (but possibly imprecise) knowledge of the positions of all participants. Furthermore, our PEGs are played on a discrete space: we model the environment as a topological map, whose nodes correspond to coarse-grained regions and whose links connect neighboring re- gions [44, 52]. Our discrete-space assumption is acceptable for many uses of pursuit-evasion (e.g., surveillance, nding survivors) and we argue that more precise capture can be implemented with the addition of a simple proximity sensor (e.g., a low resolution camera) if necessary. We are interested in the class of games where enough pursuers (we make this more precise in the next section) exist to guarantee termination. Initially, we also assume that pursuers and evaders move at the same speed (more precisely, we assume that they move exactly one hop in the topology at each time step). We later relax this assumption and consider even the case where evader can move faster than pursuers. 21 Within this framework, we are interested in the optimal strategy that pursuers and evaders should play, where our measure of optimality is the capture time (dened below). Before we discuss this, we lay down some terminology. Let G = (V;L) be a nite connected undirected graph with V vertices and L links or edges. There are two sets of players called pursuers P and evaders E. Initially, P and E occupy some vertices of G. In describing the algorithm, we assume that time is discrete and increments at steps of 1; in our implementation, of course, we make no such assumption. At each time step, all pursuers and evaders are given the positions of all participants. Both teams play a game on G according to the following rule. At each step, each pursuer chooses a neighboring vertex of G to move to, the evaders do the same. They then move to the corresponding vertex in G, as dened in [57], and repeat the previous step. The team of pursuers P wins if it captures all evaders. If an evader can avoid capture indenitely, then the evader team wins the game. In the literature [9], the necessary number of pursuers to capture an evader in a graph G is denoted by (c(G)). Let p=jPj, r=jEj, v=jVj. Let P i be the current position of the i th pursuer and E i be the current position of the i th evader. The tuple a =< P 0 ;:::;P p ;E 0 ;:::;E e > represents the current position of all participants. We dene a boolean variable T(turn) to denote if it is the pursuers' turn to move or not (recall that, in our algorithm, pursuers and evaders alternate at each time step 1 ). We say that the tuple < a;T > encodes the state s of a game. In general, a game can have 2¤v p+r states, because each pursuer and evader can be at one of v positions, and for each conguration of pursuers and evaders, there are 2 turns (evader and pursuer moves). Each game can be represented by a sequence of transitions through this state space. Each pursuer and evader executes a deterministic algorithm (called its policy) for determining, given 1 This assumption enables us to analyze our algorithm. Of course, in real world experiments, it is difcult to ensure this synchrony. 22 the current state, what the next move should be. We call ρ the pursuer policy and ε the evader policy. Since we consider deterministic policies, if in a particular game, a state is repeated, the game will not terminate and the evaders win. We can now dene our game as follows: Input Coarse estimated positions of p robots and r evaders in a bounded environment E. Output Motion commands for p robots. Goal Minimize the capture time of the evaders. Restriction No motion model for the evaders available to pursuers. The game terminates when a capture state is reached. In a capture state, at least one pursuer occupies the same vertex in which an evader resides. There exists a different denition of termi- nation: if, during the evolution of the game, a pursuer reaches an evader's position, the evader exits the game. It is easy to see that our denition results in a game that is strictly harder than this variant. When evaders exit the game, the remaining pursuers can always, and more quickly, cap- ture the remaining set of evaders. Indeed, there exist cases where our game might not terminate (a 2-pursuer 2-evader game, in some topologies) but this variant will. 3.3 Optimal Strategy In dening the game, we have avoided mention of the particular strategy that the pursuers and evaders use. In this section, we discuss the optimal strategy. 23 3.3.1 Equipotent players In this subsection, we assume that pursuers and evaders move at the same speed (more precisely, we assume that they move exactly one hop in the topology at each time step). In our game, we have assumed that both pursuers and evaders have complete information about the positions of all players. Consider now the optimal strategy for the pursuers and evaders: for the former, to capture the evaders in the shortest time, and for the latter, to avoid capture for the longest possible time. To formalize this intuition, we turn to zero-sum games. Pursuit-Evasion is a zero-sum game since the pursuers' gain or loss is exactly balanced by the losses or gains of the evader. The evader's goal is to escape as long as possible whereas the pursuers have to capture the evaders as fast as possible. Zero-sum games have been extensively studied in the game theory literature, and our solution models a PEG as a zero-sum game that uses the minimax algorithm [68]. This algorithm minimizes the maximum possible loss for each player in the game. To describe this algorithm, consider rst that the evolution of any PEG can be represented by a game graph, a directed graph with possible cycles. The start state (as dened by the starting conguration of the pursuers and evaders) has a directed edge from itself to all possible next states that the pursuers can make from the start state. (In our game, we assume that pursuers and evaders move alternatively). In turn, from each of these states, there is a directed edge to all possible next states resulting from evaders' moves from that state. The graph can thus be recursively dened. In general, a game is a traversal on this graph. If this traversal ends in a capture state, the pursuers win the game. However, it is also possible for the traversal to repeat states: such a traversal will result in a non-terminating game and the evaders win. 24 Suppose now, that in the game graph, we assign to each state S, a cost function C. ² When an evader moves, C(s) denotes the maximum distance from state s to a capture state, and ² When a pursuer moves, C(s) represents the minimum distance from state s to a capture state. In our game, we consider the following policies: ² The pursuers' policy ρ is: choose that neighboring state in the game graph which has the smallest C(s). Intuitively, this moves the game at each step as close as possible to a capture state. ² The evaders' policy ε is: choose that neighboring state in the game graph which has the largest C(s). Intuitively, this moves the game at each step as far away as possible from a capture state. Thus, the evader is truly adversarial. In what follows, we rst show how to compute the game graph efciently. Then, we prove that these policies are optimal from the pursuer's perspective: if the game terminates, they reach a capture state in the shortest possible number of moves. We construct the game graph by generating all states and all possible transitions between states. For each state, we can calculate the cost to reach a capture state using a bottom-up ap- proach. Using this, pursuers and evaders follow the strategy discussed above. We construct the game graph by generating all states and all possible transitions between states. Initially, all states have cost ∞, except the initial set of capture states which have cost 0 (Algorithm 1). 25 Let us dene F 0 as a set of capture states, in other words, the states where at least one pursuer occupies each vertex in which an evader resides. These states have cost value 0 since no move is necessary for the termination of the game. Now dene F 1 as the set of states which can reach one of the capture states in one pursuer move. F 1 consists of both states where it is the pursuer's turn to move, and states where it is the evader's turn to move. A state where it is the evader's turn to move belongs to F 1 where irrespective of the next move made by the evader, the pursuer can still reach the capture state in a single step. Similarly, we can dene inductively the F i+1 set of states as the states from which the pursuers only needs i+ 1 steps to terminate the game, irrespective of evader's movements. For any state s = (a;1), when it is the pursuer's turn to move, the cost C(s) = minimum (C(s 0 ))+1 where s 0 is any state that the pursuer can transition to from s. For any state s = (a;0), when it is the evader's turn to move, the cost C(s)= maximum C(s 0 ), where s 0 is any state that the evader can transition to from s. For a pursuer, the goal is to reach a capture state, i.e. minimize C. For an evader, if C(s) is nite, where s is the current state, then irrespective of what the evader does, it will be captured within C(s) pursuer's move. The evader should then choose a transition a to a 0 which maximizes the time of capture. If any state has a cost ∞, the number of pursuers is not sufcient to capture the evaders, and it is necessary to add more pursuers to the game. Algorithm 1 computes the state transition diagram, and the associated costs. Pursuers and evaders can use this to implement the optimal strategy ρ and ε: during a pursuer turn, ρ implies selecting the neighboring state with the smallest C(s) and during an evader turn, ε implies choos- ing that neighboring state that has the largest C(s). The algorithm loops while we add more states to F i . Eventually, when there are no more states to be added, the algorithm terminates. Since each state can only be added once, the algorithm terminates. 26 Algorithm 1 Algorithm for computing the game graph. 1: {Initialization} 2: Generate all states 3: Generate all possible transitions 4: 5: for all state s do 6: if s is a capture state then 7: add s to F 0 8: C(s)à 0 {cost function} 9: else 10: C(s)à ∞ 11: end if 12: end for 13: ià 0 14: repeat 15: ià i+ 1 16: changeà f alse 17: Uà set of all unmarked states that have a transition to a marked state. 18: for all s in U do 19: if s is a pursuer move then 20: if s has at least one transition to a marked state then 21: add s to F i {mark s} 22: C(s)à min (over all marked neighbors)+1 {count this move} 23: add transition to ρ 24: changeà true 25: end if 26: else 27: {evader move} 28: if all transition from s reach a marked state then 29: add s to F i {mark s} 30: C(s)à max (over all marked neighbors) 31: add transition to ε 32: changeà true 33: end if 34: end if 35: end for 36: until not change 27 To prove the optimality of our formulation, it sufces to prove the following theorem: Theorem 3.3.1. For any given topological graph G, if l(s) is the minimal number of steps re- quired to reach a capture state for any state s, then C(s) = l(s). Proof. We will prove this by induction on i, the length of the optimal number of steps till capture. Basis: If i = 0, the game is over (l(s) = 0) without requiring a state transition. This means that there must be at least one pursuer in each node occupied by an evader (by our denition of capture). This is exactly our denition of a capture state (lines 5-12 Algorithm 1) for which C(s) = 0. Inductive Step: Assume that, for all states s for which l(s) = i, C(s) = i. We now try to show that for any state s 0 for which l(s 0 ) = i+ 1, C(s 0 ) = i+ 1. Proving by contradiction, assume exists a state s for which l(s) = i+ 1 but C(s)6= i+ 1. We divide into two cases: (1)C(s)< i+ 1 or (2)C(s)> i+ 1. Case 1: This case results into a contradiction because l(s) is optimal. C(s), which is the number of steps our game would take, cannot be shorter than this. Case 2: In state s, there are two possibilities: either it is the pursuers' turn to move, or the evaders'. Case 2.1: Suppose it is the pursuers' turn. Since we have l(s) = i+ 1, there is a transition from state s to some state s 0 , where l(s 0 ) = i. We also have C(s 0 ) = i by the induction hypothesis. From line 22 in Algorithm 1, C(s) is the minimum of all C(s)+1, where s is a neighboring state of s. Remember, s 0 is a neighboring state of s. Thus, C(s)· i+ 1, but we have already discussed that C(s) cannot be less than i+ 1. So, C(s) = i+ 1, a contradiction. 28 Case 2.2: Suppose it is the evaders' turn. For every possible move from s to some s 0 , s 0 is already a capture state (by construction in line 28 of Algorithm 1).8s 0 C(s 0 )<= i+ 1 since the algorithm only considers marked states in line 28, and, at that stage of the algorithm, C(s 0 ) <= i+1 for all marked states. From line 30, C(s) will be the maximum of C(s 0 ). Thus, C(s)<= i+1, again a contradiction. u t Our solution is complete because for all state s we calculate C(s), which gives the optimal length for all possible state s. Theorem 3.3.1 proves algorithm 1 is optimal because for any possible game conguration, it is possible to reach a capture state (game is over) in the minimum number of steps. Note that this proof of optimality holds for any graph G: intuitively, the proof works because it abstracts any graph G by the quantity c(G), which is the minimal number of pursuers required to ensure eventual capture on G. For a graph with v vertices, the space complexity is O(v p+r ) since we need to store all states. For each state, we might need to visit all other state, thus, the time complexity is O(v 2¤(p+r) ). In practice, to play the game, we rst pre-compute a complete state transition diagram ofine. This is pre-loaded on all the robots, and each pursuer or evader makes a decentralized local state transition decision, given the current state (the positions of all the robots), to calculate next state. 3.3.2 Superior Evader We now consider the case when every evader is a superior evader, i.e., is faster than any pur- suer [77]. Specically, while pursuers are limited (in each time step) to moving exactly one hop 29 on the topological graph, a superior evader can move to any node from its current position, except those nodes to whom paths are blocked by a pursuer. To solve this new problem, it turns out that, for this variant as well, it is possible to compute the same game graph model as in previous section. The total number of states in the game is the same as before, and only one class of transitions is different. For each of the game state where is the evaders' turn to move, there are now more potential neighbors since the evader can move more than one step in a single turn. This will increase the number of transitions of the game. Algorithm 2 Algorithm for computing the game graph with Superior Evaders. 1: for all state s do 2: if s is an evader move then 3: Create graph S by copying topological graph G and removing nodes where pursuers are located in state s. 4: for all evader in E do 5: Depth-rst Search(S,E i ) 6: end for 7: add transitions from s to all game states where evaders were able to visit(reach). 8: end if 9: end for To compute the game graph, we only need to add a pre-step, which is presented in Algo- rithm 2. For all the game states, it calculates all possible nodes an evader can reach without vis- iting a node where there is a pursuer. The implementation to detect if exists such a path consists of deleting the nodes where there is a pursuer from the topological graph and using Depth-rst search or Breadth-rst search to traverse the graph.Note that Line 3 of Algorithm 2 creates a new graph S which removes, from G, nodes where the pursuer is located (because the evader should avoid these nodes). This makes it easier, in line 5, to calculate all possible nodes an evader can reach without visiting a node where there is a pursuer. We then create a transition on the game graph for all possible visited nodes in the topological graph. 30 The overall algorithm (detecting if the game ends, what is the best policy) does not change: the capture states are dened as before, and the optimal pursuer and evader strategies are the same as before. More precisely, to calculate the policy for pursuers to capture superior evader, we still use the Algorithm 1 but with the game graph computed in Algorithm 2. Thus, Theorem 3.3.1 still holds because given any state s, if the optimal path l takes s, where l(s) = i then C(s) = i8s;8i. In the superior evader case, there are O(v p+r ) states. The Depth-rst search complexity is O(jVj+jLj) for each evader. In the worse case, we might need to add v r transitions for each state. Thus, the overall complexity of this pre-step is O((v p+r )¤(r¤ v+ v r ). Assuming r<v, the overall complexity for the entire game is still O(v 2¤(p+r) ). 3.3.3 Optimal number of players In this subsection, we analyze the capture time of pursuit-evasion games, in a graph G = (V;E), when we vary the number of pursuers and have only one evader. The obvious way to capture an evader with zero movements is to have a pursuer in each vertex of G. To determine the minimum number of pursuers to capture an evader with just one movement is the same problem as the minimum dominating set. A dominating set for a graph G is a subset D of V such that every vertex not in D is joined to at least one member of D by some edge. The minimum dominating set D(G) is the smallest number of vertices in dominating set for G. Given a dominating set, pursuers can in one move reach all vertices in the graph, thus, the capture time is at most one. 31 Now, we constraint the problem even more to avoid degenerated cases such as the two cases previously stated. For this subsection, and only this subsection, we study the Pursuit-Evasion Game when all pursuers have to start at the same position. One realistic example is all re- ghters might start from the main entrance door of a burning building to rescue all people. First, let us introduce some graph theory background. A diameter of G (diam(G)) is the longest shortest path. In other words, a graph's diameter is the largest number of vertices which must be traversed in order to travel from one vertex to another when paths which backtrack, detour, or loop are excluded from consideration. Now, we present two lemmas to tightly bound the minimum capture time when all pursuers start together. Lemma 3.3.2. If enough pursuers start together, for any given topological graph G, the minimum worst-time capture time is the diameter of G. Proof. Consider the case where the evader is located at one end of the longest shortest path and all the pursuers are located at the other end. The pursuers would need at least diam(G) steps to reach the evader. u t Lemma 3.3.3. If enough pursuers start together, for any given topological graph G, the maximum worst-time capture time is the diameter of G. Proof. If the capture time was bigger than diam(G), it means the evader moved to a vertex not in the diam(G) path. To avoid that situation, add a new pursuer to go to that vertex. By denition, the new pursuer will not take more than diam(G) steps to reach that node. We can add as many pursuers to avoid evaders from taking the diam(G) path detour. Thus, the maximum capture time is diam(G). u t 32 Theorem 3.3.4. If enough pursuers start together, for any given topological graph G, the worst- time capture time is the diameter of G. Proof. Lemma 3.3.2 gives a lower bound and Lemma 3.3.3 an upper bound, which are the same value. So, if all pursuers start at the same position, the worst-case capture time is diam(G). u t Theorem 3.3.4 states that if all pursuers start together, and the capture time is diam(G), adding more pursuers will not decrease the capture time. Now, we present the algorithm to compute the necessary number of pursuers O(G) to capture an evader in minimum capture time. The algorithm consists of a binary search using the output of algorithm 1. We execute a binary search on the number of pursuer until we get the minimum number of pursuers such that the capture time is equal diam(G). From Theorem 3.3.4, we know the output is correct. We can compute the diameter of an arbitrary graph in polynomial time. For instance, the Floyd-Warshall algorithm nds the all-pairs shortest path in O(V 3 ). e1 p1 p2 pN Figure 3.1: Topology with three corridors where the worst-case capture time varies with the number of pursuers. Here, we present an example and discuss the behavior of the function capture time by the number of pursuers. Figure 3.1 shows a topology with three corridors of length three. The capture 33 time varies with the number of pursuers. With two pursuers, the capture time is four since evader will move to the middle of a corridor. With three pursuers, each pursuer moves through a corridor, not allowing the evader to move. Thus, the capture time is three, which is exactly the diameter of the graph. Hence, three pursuers is the minimum number of pursuers to capture the evader in minimum time. The capture time might suffer from step changes, in other words, its values might sharply vary with one additional pursuer. Consider again the graph on Figure 3.1 but now let's have m corridors of length l. With one pursuer, the game will not terminate. From two to m¡ 1 pursuers, the capture time is 1:5l. Adding more pursuer until m¡ 1 would have no effect on the capture time. But, with m pursuers, the capture time is l. One additional pursuer improved the capture time by 50%. Thus, the capture time can sharply varies with the number of pursuers. Figures 3.2 summaries this subsection. The y-axis is the capture time and the x-axis represents the number of pursuers. If the number of pursuers is less than C(G), the game does not terminate (innity time). In the right, we have the two degenerated cases where the capture time is zero if there are V(G) pursuers and one if the number of pursuer is the same as the minimum dominating set D(G). Finally, to capture the evader in minimum time when pursuers start together, we have O(G) and we proved that this is the diameter of G. This subsection also presented the algorithm to determine O(G) and shown that the capture time might sharply vary with the addition of one pursuer. Unfortunately, regardless of whether the evaders are equipotent or superior to pursuers, the computational cost of enumerating the state transition diagram is not practical; for instance, using a modern desktop, we have been unable to compute the robot's strategy for 9 robots. 34 ь ! " # Figure 3.2: Capture time as a function of the number of pursuers This motivates the work presented in the next section, where we present a scalable algorithm that partition a PEG into multiple multi-pursuer, single-evader games. We have evaluated our scalable algorithm for equipotent participants, but expect our results to be similar for the superior evader case. 3.4 Partition Strategy In our partitioning strategy, the pursuers divide the evaders amongst themselves and play c(G)-1 sub-games (recall that c(G) is the minimum number of pursuers required to guarantee termination on a graph G). In each of these sub-games, the pursuers and the evader each play the optimal strategy discussed in Section 3.3, and the goal is still to minimize the time to capture the evader. The key insight is that computing the state transition diagram for these partitioned games is computationally feasible. This section discusses an assignment algorithm that allocates c(G) pursuers to each evader. 35 Our assignment algorithm assumes p>= c(G)¤ r, i.e, that the number of pursuers is at least that required to ensure that c(G) pursuers can be assigned to each evader. The inputs to the assignment algorithm include the graph G and the initial positions of all pursuers and evaders. The assignment algorithm outputs for each pursuer which evader to pursue (and eventually capture). We model the assignment problem of r teams and r evaders as a matching problem. Consider the bipartite graph G = (T;E;L). The set T contains nodes, each of which represents a team of pursuers: each team represents a distinct combination of pursuer robots. Each node in the set E represents a single evader. Finally, each edge l = (u;v) from the set L represents the assignment of team u to evader v. Each edge l has a cost c uv which is the time to capture evader v with team u. It is possible to compute c uv , the expected time to capture evader v by team u, by evaluating a c(G)¡ 1 game. Realize that we can pre-compute this cost and we only need to verify one game to know the cost of every position. We represent the cost c uv in a matrix C. The goal is to nd the assignment that minimizes the maximum time to capture all evaders. An assignment can be represented as a matrix X = [x i j ] where x i j is equal to 1 if team i is assigned to evader j, and equal to 0 otherwise. The assignment problem is written formally as follows: min max i; j=1;::;N c i j x i j subject to n ∑ j=1 x i j = 1 8 i2 N n ∑ i=1 x i j = 1 8 j2 N x i j 2f0;1g 8 (i; j)2 N : 36 This problem is called linear bottleneck assignment (LBAP) [40] and can be solved optimally by any of the polynomial-time algorithms based on network ow theory [12]. The assignment algorithm described above is summarized in Algorithm 3. Algorithm 3 Assignment of pursuers to evaders 1: Compute a cost metric for a c(G)¡ 1 game. 2: Generate all possible team congurations, with r teams which has c(G) pursuers and one pursuer does not belong to more than one team. 3: for all feasible team conguration do 4: calculate matching cost as a LBAP. 5: update assignment with minimum max game cost. 6: end for 7: return min max assignment. Algorithm 3 assigns c(g)¤ r pursuers to r evaders. If p > c(g)¤ r, the unassigned pursuers chose randomly which evader to capture. This may modify the minimum capture time of all evaders, and adds robustness to algorithm 3 in case of robot failure. Algorithm 3 solves the global optimization problem described above even with the restric- tion that a pursuer can participate in at most one team. Would a simple greedy algorithm have worked? A greedy assignment strategy can result in a non-optimal terminating game with ex- tremely large, but nite, capture time. Consider a 2¡ 2 game where the c(G) = 1 and the cost matrix C = 2 6 6 4 1 2 3 h 3 7 7 5 . The optimal assignment that minimizes the time to capture of all evaders for this matrix is pursuer 1 to evader 2 and pursuer 2 to evader 1, which gives max time to capture c = 3. The greedy assignment would instead assign pursuer 1 to evader 1 and pursuer 2 to evader 2, with cost c = h, where h is a large nite number. Figure 3.3 illustrates such a game. In the greedy strategy, evader 2 could escape into the part of the graph denoted by dots: pursuer 2 will eventually be able to catch evader 2 (because c(G) is 1), but after many steps. 37 e1 p1 e2 p2 Figure 3.3: An instance of a game which will terminate with huge capture time if pursuers play a greedy strategy. Each pursuer robot runs the assignment algorithm locally. The inputs to the algorithm are the current positions of all pursuers and evaders; this information is obtained from the network (and may, of course, be inexact because of sensing noise). Each pursuer executes the assignment only once, and sticks with the assignment until the game terminates. 3.4.1 Complexity The number of evaluated team congurations x can be modelled as the number of ways to put p distinct balls in r identical boxes. Each distinct ball represents a pursuer and each identical box represents an evader. The boxes are identical because we do not need to determine the identity of the evaders, the matching will determine this. For instance, if c(G) = 3, r = 2, p = 6, conguration < p 1 p 2 p 3 >< p 4 p 5 p 6 > is equivalent to < p 4 p 5 p 6 >< p 1 p 2 p 3 > in our matching input. Moreover, each box should have c(G) balls. The number of ways to put p distinct balls in r identical boxes is to rst imagine the boxes as distinct and then determine what we over-counted. The number of distributions of a set of p distinct balls into a set of r distinct boxes if each box is to hold a specied number of balls is ¡ p p 1 ;p 2 ;:::;p r ¢ = p! ∏ r i=1 p i ! where p 1 + p 2 +:::+ p r = p. In our case, since all p i = c(G), we have 38 p! (c(G)!) r . Due the fact that the boxes are identical, we over-counted r!. Hence, the number of conguration x we have is x = p! (c(G)!) r ¤(r!) . Given that n!' n n (Stirling's approximation), we have x' p p (c(G)) c(G)¤r ¤(r r ) . If p = c(G)¤ r, we have the number of evaluated conguration x' r p¡r . The complexity of the Linear Bottleneck Assignment Problem (LBAP) with N nodes is O(N 2 ) [63]. We evaluate x congurations, which has r nodes. Thus, the complexity of this part of algorithm 3 is O(r 2 x). We also need to evaluate a c(G)¡1 game to know the cost metric, which has complexity O(jVj 2(c(G)+1) ) (from Section 3.3). Thus, our overall complexity is O(r 2 x +jVj 2(c(G)+1) ), where x = p! (c(G)!) r ¤(r!) ' r p¡r instead of previous O(jVj 2(p+r) ). Since r <<jVj, this algorithm is signicantly more computationally ef- cient. 3.4.2 Properties Here we enumerate the properties of the partition strategy. Termination: Lemma 3.4.1 guarantees game will terminate, assuming no robot fails. Lemma 3.4.1. Algorithm 3 guarantees that the p¡ r game will terminate. Proof. Since we decompose the p¡r game into r parallel c(G)¡1 sub-games, and each of these games is guaranteed to terminate by Theorem 3.3.1, the overall p¡ r game terminates. u t Optimality of partitioning: Algorithm 3 optimally partitions the evaders across the pursuers, subject to the cost metric. More precisely, there is no better way in partition the game into c(G)-1 games. This property follows from the optimality of the LBAP assignment algorithm. 39 Bounded capture time: The completion time for the p¡r game is the maximum completion time across the c(G)¡ 1 sub-game. However, is it still an open question how far off from the optimal completion time this partition strategy is. Scalability: Algorithm 3 scales better than the optimal strategy, since its scaling is dominate by r p¡r , while the optimal scales asjVj p+r , and usually r <<jVj. Robustness: If p > c(G)¤ r, algorithm 3 can assign extra pursuers to evaders to ensure robustness to robot failures. To summarize, algorithm 3 works as follows. In a decentralized manner, each robot pre- computes a c(G)¡ 1 state transition diagram. Then, after being informed by the network of the positions of all robots, each robot runs the assignment algorithm described above once. There- after, using the pre-computed state transition diagram and network localization updates, all robots continuously play the game until all evaders are captured. 3.5 Design In this section, we discuss the hardware and network testbed which form the basis for our pursuit- evasion experiments. We then describe, in some detail, our PEG software design and implemen- tation. This sets the stage for our system evaluation, which is discussed in the next section. 3.5.1 Platform The Robot Platform. We use a commoditized robotics platform and made minimal modications to it using commercial off-the-shelf products. Our platform consists of an iRobot Create and a small embedded computer mounted on top of it (Figure 3.4). 40 The Create, a differential drive robot, has a round chassis of 33 cm diameter. The robot es- sentially has two kinds of sensors. First, a pair of tactile sensors that, together with a bumper, can help determine whether a robot hits an obstacle and the angle at which it does so. Second, a suite of infrared (IR) sensors: the bumper contains an IR wall sensor on the right and an omnidi- rectional IR receiver in the top, and four additional IR sensors mounted underneath the bumper facing down. We do not add additional sensing hardware to the Create. The embedded computer, the Ebox 3854, is an 800 MHz embedded PC with 256MB shared DDR memory, and supports a 1280x1024 VGA interface, one 10/100 LAN, and USB, mini PCI and compact ash sockets. The Ebox contains a 4GB compact ash (CF) card. Finally, we chose the EMP-8602 mini-PCI 802.11 a/b/g wireless card to provide network connectivity. This choice of platform is primarily designed to enable ease of programming (the Ebox runs standard Linux), and has enough ports to support various connectivity options. The embedded computer is powered by the Create's battery through a DC-DC power adapter (picoPSU). The embedded computer is powered by the Create's battery. Since the two devices have incompatible voltage, we use a commercial DC-DC power adapter called the picoPSU. To use the adapter we had to fabricate custom connectors to the adapter, and to recongure the pins on the adapter itself, the details of which are beyond the scope of this work. The embedded computer runs Linux Fedora Core 6 as the operating system. For sensing and control, we developed a Create driver for Player [25], using which we are able to move the robot, turn on/off LEDs, read the bumpers, buttons and IR sensors. We set the nominal speed to 0.2 m/s. The Network. The robots use the network shown in Figure 3.5. This network is deployed above the false ceiling on one oor of a large ofce building and consists of two tiers: an upper tier containing 6 Stargates (embedded computers running Linux), and a lower-tier containing 56 41 Figure 3.4: Team of Creates which depicts our robot platform - the iRobot Create with an Ebox TelosB motes (tiny commercial sensor nodes). The sensor nodes run an 8MHz Texas Instruments MSP430 microcontroller, have 10KB RAM and a 2.4 GHz IEEE 802.15.4 Chipcon Wireless Transceiver with a nominal bit rate of 250 Kbps. The network provides the robots two capabilities. The upper-tier nodes form a wireless com- munication backbone that can be used for inter-robot communication and coordination. In the absence of this backbone, communication between the robots can be signicantly delayed as a result of transient network outages caused by robot mobility. The presence of a static network in- frastructure ensures that robots can quickly communicate with each other, and thereby coordinate more effectively. The lower-tier nodes provide the capability of a virtual position sensor, and can sense the position of pursuers and evaders. We describe the details of this capability below. One might, of course, envision other ways in which these two capabilities might have been provided. For the purposes of this work, the exact form of the network is immaterial: we make a plausible argument that many built environments in the future are likely to have wireless com- munication support and a programmable sensor network that could be used for approximate po- sitioning. We now describe in turn the various software components in our system. 42 Figure 3.5: Layout of the two-tier network testbed which is composed of Stargates (upper-tier) and wireless sensor motes (lower-tier) 3.5.2 Network-Assisted Localization Our robots do not have extra hardware such as sonar or lasers to determine robot poses. In our system, the network estimates robot position. As we have discussed above, we use a topolog- ical map as a representation of the environment. The goal of our network-assisted localization subsystem is to approximately place each robot at a node in this topological map. This subsystem uses the signal strength of periodic beacon messages emitted roughly once every second (we add some randomization to the interval to reduce collisions) by the robots themselves. The second-tier motes receive these beacons, and report all beacons whose signal strength is above a certain threshold. Tenet [26], a readily available open-source software package for programming wireless sensor networks, is the software that collects the beacon signal strength. A centralized robot location server then applies a voting scheme on a sliding window of reports (the width of the window is 7) to generate a location estimate. Since radio propagation characteristics can vary signicantly even with small displacements, we use a simple heuristic lter to smooth the estimate. This lter essentially updates a robot's current position only after n consecutive reports are received. Clearly, this trades off increased latency for a smoother evolution off the 43 estimate. Figure 3.6 motivates the need for smoothing the estimate, and shows the performance of the lter on our testbed. Even so, our localization algorithm can have errors. To quantify the performance of our network-assisted localization scheme, we conducted an experiment where we measured the loca- tion error for each of 1500 beacon reports (Figure 3.7). Our technique is correct at least 95% of the time. All errors are at 1-hop errors: that is, the actual and estimated locations were adjacent nodes on the topological map. These errors occur when the robot is close to the boundary be- tween these two adjacent nodes. We argue that the impact of this localization error on the game is negligible: in practice, a proximity sensor could have detected robots in adjacent nodes. Our architecture also allows for a decentralized location system. Instead of retrieving location information from the server, this information can be ooded on the upper-tier network, of which the robots are a part. This ooding cost is minimal, since we only need to transmit the position of the players, which requires (p+ r)(dlog 2 ve) bits. We have experimented with this version as well, and the performance of the system is comparable to the centralized system, as shown in Section 3.7. One can imagine a variety of localization methods being used by the robots. Map-based localization using either a sonar, laser, camera (or a combination of these) could be used (IR on the Create is too short range to be useful for anything other than proximity sensing - we exploit it in the wall-following behavior described below). However, as discussed above, we choose to work with simple robots and do not augment them with sophisticated sensing. Given that we operate in an indoor bounded environment, one could perhaps conceive of doing localization by ltering odometry and incorporating corrections based on proximity to certain landmarks (e.g., detectable by the IR sensor and/or bumpers, or better still the Create's recharging station). The 44 Create's odometry is poor. Thus we do not currently follow this path, without completely ruling it out in the future. 0 2 4 6 8 10 12 14 0 100 200 300 400 500 600 Topological ID Time Raw 0 2 4 6 8 10 12 14 Topological ID Localization Filter Figure 3.6: Network-assisted localization estimates: unltered estimates (bottom) are noisy, l- tered estimates (top) eliminate noise. Localization 95.95% 4.04% 0 20 40 60 80 100 Hop Distance Percentage (%) 0-hops (correct) 1-hop (incorrect) Figure 3.7: Localization Accuracy 3.5.3 Wall-following Given the paucity of sensors on the Create (and our coarse localization technique), we use a simple behavior using the IR sensors to traverse the environment. Clearly, may not generalize to other kinds of environments. It sufces for our purposes as a simple, even primitive, traversal behavior; more sophisticated behaviors can only improve the performance of our system. That said, our component includes several 45 optimizations to ensure robustness: in our environment, at least, it always results in forward progress. The robot continuously emits IR signals and reads the IR receiver continuously. As long as the IR values are between two thresholds and none of the bumpers are activated, the robot will move forward parallel to the wall using simple PD control. If the IR reading falls below a threshold, the robot assumes it has lost the wall and attempts to for it. It does this by executing a spiral (simultaneous rotation and translation) until the bumper senses contact (assumed to be with the wall). To avoid open ofce or elevator doors in the experiments, we use a virtual wall (essentially, an IR transmitter) available from iRobot. When the virtual wall is detected, the robot tries to avoid going through it by going back and turning to the left for a while without bumping, then going forward while turning to the right also without bumping. If the bump sensor is activated and the virtual wall is simultaneously detected, it invokes the behavior described below. The behavior is invoked whenever the robot is stuck. In addition to the scenario discussed above, this behavior is invoked whenever the power consumption of the robot is above a predetermined threshold over a predened time window (this might happen when the robot encounters a small obstacle that does not activate the bumper). To execute the escape behavior, the robot simply moves backwards for a short distance and then resumes . Our robot's wall following behavior uses the IR transmitter near the right side of the robot. As such, it keeps the wall to its right. To reverse direction, the robot implements a behavior which enables it to cross a corridor and nd the opposite wall. The behavior is simple: the robot swivels slightly to the left and then moves in an arc until a bumper is activated. However, 46 if the robot hits a wall in less than a preset time, it repeats this maneuver since it is unlikely to have crossed the corridor in that (short) time. 3.5.4 Navigation The navigation component calculates the goal position, and invokes to move from one topological node to the adjacent one. Navigation is executed every time the robot changes its position (as well as when any evader changes its position), so the robot continuously updates its trajectory. The navigation component calculates the goal position given its team's position and that of its assigned evader. Using Algorithm 1, we pre-compute a state transition diagram for a given team conguration. This state transition diagram is pre-loaded on all the robots, and each pursuer or evader makes a decentralized local state transition decision, given the current state. This decision tells the robot which topological node to move to next. However, there exists an important subtlety in the navigation algorithm imposed by the min- imality of our platform. Our robot has no inherent proprioception capability, it can only travel parallel to a wall, keeping the wall to its right (since the robot has only one IR wall sensor po- sitioned on its right). As a result, the robot might actually move in a direction opposite to that intended by the navigation component. To rectify this, we add a simple a posteriori correction to the navigation component. If the moves the robot to a node that it does not expect to arrive at, it invokes the behavior described above to reverse direction. 47 3.6 Simulation In this section, we evaluate the optimal and partition strategy by simulation. We implemented an idealized game simulator, which models time in discrete steps and implements the strategy discussed in Section 3.3.1. We exhaustively enumerate all congurations to compute a worst- case conguration. 3.6.1 Optimal Strategy Topology Name Graphical Game C(G) 2 pursuers 3 pursuers Grid 2D 4x4 2 3 5 1 4 2 3 4 2 5 3 4 5 6 1 1 6 2 6 6 Cylinder Grid 4x4 1 2 3 4 1 2 3 4 5 1 2 3 4 5 5 2 5 5 Toroidal Grid 4x4 1 2 2 3 3 1 1 2 3 3 4 4 2 2 3 4 1 2 3 4 3 ∞ 4 3-ow N/A 2 3 1 2 2 3 3 1 1 2 4 3 Table 3.1: Instances of Games and their properties 48 We choose four topologies for our case study (Table 3.1). The rst topology is a two- dimensional grid graph, which is the graph Cartesian product of two path graphs [79]. The second topology is also a grid but embedded on the surface of a cylinder. Unlike the previous topology, the edge nodes of the grid are connected on the cylinder. The third topology is a grid embedded in a torus (a sphere with one handle) [55]. There are no edge nodes. Finally, the fourth topology is composed of two nodes connected by three disjoint paths (we call it a 3-ow graph). Table 3.1 shows the topologies graphical representations. The Cylinder Grid is an interesting topology because a naive strategy to try to catch the closest evader by greedily following it would not work, as illustrated in Figure 3.8. The evader could always escape by going around the cylinder grid while pursuers try to catch it. At least one pursuer needs to travel in the opposite direction. The Toroidal Grid is an interesting topology because we need more than 2 pursuers to capture an evader. The 3-ow topology shows a topology where increasing the number of pursuers would decrease the worst-case capture time. The 3-ow topology needs only 2 pursuers to guarantee the capture of an evader. But, with 3 pursuers, the worst-case capture time decreases from 4 to 3 steps. Figure 3.8: A game where pursuer greedily follow the evader will not terminate in a cylinder Grid Topology. 49 Table 3.1 shows some instances of games and their properties. The third column illustrates a worst-case capture game on the given topology. The game shows the trajectory of each player. The nodes and solid undirected edges connecting them represent the topological map. The solid directed lines (lines with arrows) show the pursuer path and the dashed lines illustrate the evader path. The edge labels represent the time sequence of the robots. The pursuer and evader's initial positions are indicated by the corresponding icons. The fourth column is the necessary number of pursuers to guarantee the termination of the game. The fth and sixth columns represent the maximum number of steps to terminate the game, given the number of pursuers. It is interesting to see that even though the torus needs at least 3 pursuers, if we play the game with 3 pursuers, the game will be shorter than in a 4x4 grid. Another interesting fact is increasing the number of edges from grid 2d 4x4 to cylinder 4x4 does not increase the necessary number of pursuers but it decreases the number of steps to terminate the game. Increasing the edges again (from cylinder to toroidal), increases the necessary number of pursuers. 2 3 4 e2 e1 0 p1 p2 1 Figure 3.9: Given our denition of capture, a 2-2 game will not terminate in a ring topology. Finally, Figure 3.9 demonstrates a topology in which the game does not terminate for our denition of capture. In this ring topology with 5 nodes, a game with 2 pursuers and 2 evaders will not terminate since we dened the game to end only when all the evaders are captured. To illustrate this, suppose pursuer 1 stayed on the same location as evader 1. Pursuer 2 needs to 50 capture evader 2, but evader 2 just needs to stay away from pursuer 2. If instead we had chosen to require an evader to exit the game when it is rst captured, this game would have terminated. 3.6.2 Partition Strategy Topology c(G) t(c(G)-1 game) t(2c(G)-2 game) Optimal Partition Grid 2D 3x3 2 4 4 4 Cylinder Grid 3x3 2 3 3 3 Toroidal Grid 4x4 3 4 4 4 Table 3.2: Games and their properties We can also use the simulator to compare the partition strategy with the optimal (Table 3.2) for various topologies. The rst column is the topology. The second column is the necessary number of pursuers to guarantee the termination of the game for that topology. The third column is the maximum number of steps to terminate the game (t) with 1 evader, which is the same in both strategies. The fourth and fth columns give the maximum number of steps to terminate the game using optimal and partition strategy for two evaders. For these topologies, the partition strategy has the same completion time as optimal strategy. The drawback of our partition strategy is we might use more pursuers than the minimum necessary. In a ring topology, 3 pursuers are sufcient to capture 2 evaders. In the partition strategy, we need 4 pursuers. We believe that this tradeoff is acceptable, since the partition strategy enables efcient capture. It is not enough, however, to use the simulator alone. The simulator plays an idealized game and differs from the real environment in three ways. First, in the real testbed, errors in robot localization can shorten or prolong a game. The former can happen when two robots think they 51 are at the same topological node, but are in reality far away from each other. The latter can happen when the converse is true, or when a pursuer takes a longer path because it is incorrectly localized. Second, while our robots only follow walls in one direction (and must cross the corridor to reverse direction) and therefore must correct their orientation afterwards (Section 3.5), our simulator does not mimic this constraint. Effectively, the above differences help us understand how the games would have been different if our robots had expensive and precise positioning capability, and onboard orientation sensing capability. The third difference arises from the synchronous execution in the simulator. In the real world, pursuer and evader decisions are not synchronized. Consider a pursuer and evader separated by one hop. In the simulator, because decisions are synchronized and localization is perfect, the evader can escape the pursuer. In the real world, however, it is quite possible for the pursuer to start moving towards the evader and (because the localization system is based on coarse-regions) capture the evader before it has had a chance to move outside the region. In these infrequent cases, the game can terminate faster than it would in the idealized scenario. For this reason, we played a few (specically, 2¡1, 4¡2, and 6¡3) games on our real world testbed, and we discuss the results below. 3.7 Experiments In this section, we describe the results from several games played on the physical robot testbed described in Section 3.5. 52 We play the games on the oor plan shown in Figure 3.5, using the network whose nodes are shown in that gure. We run the experiments in the entire oorplan, which has about 50 m x 30m, providing us a realistic physical large environment. While our games are played only in the one environment shown (and future work needs to validate the generality of the claims we make later in this section), we emphasize two important points about the environment that lead us to believe that our results would hold generally in other similar environments. First, our building oor is representative of many ofce buildings (i.e., it does not have any unusual features that would materially affect our conclusions) and we do not alter the environment in any way other than to place virtual walls in some locations 2 . Second, our network design is not optimized in any way for this particular application. Rather, the network was designed to mimic harsh wireless communication conditions to stress test wireless systems and applications. 0 0.2 0.4 0.6 0.8 1 0 50 100 150 200 250 Fraction of Reports Latency (ms) Latency Figure 3.10: The communication latency for detecting the robots. Figure 3.10 shows the cumulative latency for beacon reports from robots. The latency mea- sures the time from when the robot sends a beacon to when the robot location server receives it. This communication latency is at most 250 ms. We expect the latency of distributing the location 2 We place a virtual wall in front of the elevator doors to prevent the robot from entering an open elevator. We also place a virtual wall in front of the doors whose thresholds are lower than the height of the Create bumper. 53 estimate to the robots from the server to be comparable. Thus, our real-world implementation de- viates from our simulations and theory in that robot poses may be slightly stale: however, given the robot speeds in our experiments, the location estimates will be off by about 0.1 m or so, a relatively small amount. The convergence time of a game depends on the initial conguration. We play our games using a worst-case initial conguration (there can be many), which was calculated by the idealized game simulator. 1 3 4 6 7 8 4 2 3 5 6 e1 p1p3 p4 e2 0 1 6 7 3 5 2 5 p2 1 2 4 7 5 Figure 3.11: An illustration of 4 pursuer, 2 evader game sequence. The nodes and solid undirected edges connecting them represent the topological map. The solid directed lines (lines with arrows) show the pursuer path as determined by the localization system. The dashed lines illustrate the evader path. The edge labels represent the time sequence of the robot. The pursuer and evader's initial positions are indicated by the corresponding icons. 0 100 200 300 400 500 600 700 2-1 4-2 6-3 Game Configuration (#Pursuers-#Evaders) Mean Capture Time (s) Centralized Location Updates Distributed Location Updates Simulation Figure 3.12: The Mean Capture Time for three game congurations played with centralized and distributed location updates. The third bar is the average capture time from simulation. 54 An Illustrative Game Instance. Figure 3.11 shows the trajectory of each pursuer during one instance of a 4¡ 2 game. The game evolves as follows. Pursuers 1 to 4 start at position 3, 3, 4, and 4 respectively, and all evaders start at position 8 (this is a worst-case conguration, as determined by simulation). Pursuers execute the partition algorithm and independently decide on their teams. Pursuers 1 and 2 try to capture evader 1 and pursuers 3 and 4 will chase evader 2. Pursuers 2 and 4 try to corral the corresponding evader by approaching them through the alternate path in the topology, while pursuers 1 and 3 try to capture evaders by moving directly towards them. At time 2, pursuers 1 and 3 are at location 2. They do not have to move since either option will not affect the game convergence time. At the end of time 2, all pursuers are at near location 2. All pursuers keep moving and are at location 5. At time 4, pursuers 1 and 3 switch their orientation (turn around to another wall invoking ). At time 5, evaders move to location 0 to be as far away from all pursers as possible, otherwise pursuer 1 would have captured them. Pursuers are at 2, 2, 7, and 7. Finally, at steps 6 and 7, pursuers go toward the evaders and corral them since evaders do not have any option to escape. In simulation, the capture time for the described game is 5 steps. Our results took 7 steps because our robots do not have a sense of direction and can only reverse direction by going in the wrong direction to determine that they have done so. This behavior is not captured in the simulator. Despite this (and other) non-idealities, our implementation works well in the real- world. Results across Multiple Games. Finally, Figure 3.12 depicts the capture time across multiple games. The capture time is similar between the games, as one might expect (since each game is 55 partitioned into a 2¡ 1 game). However, there are small differences in capture times. For a 4¡ 2 game, the game terminated even with a pursuer failure in localization, since only 2 robots are needed in our topology. Our 6¡ 3 game had a longer convergence time because robots are not able to move at nominal speed continuously as a results of oor surface differences and because (as it happens in our environment) pursuers bump into each other and are slowed down during obstacle avoidance. The capture time is similar between games with centralized, distributed location updates. The capture time is also similar between experiments and simulations (Figure 3.12). Although the simulations do not model some aspects of our real-world implementation (Section 3.6, such as not taking into account the extra-steps necessary to reverse direction), the simulation results are in qualitative agreement with the implementation results. 3.8 Conclusions In this work, we have described a system that detects multiple evaders using wireless sensor network, disseminates the necessary information using a decentralized protocol, and executes an algorithm that captures multiple evaders in near-optimal capture time. We have presented a systematic derivation of this algorithm, by rst presenting a provably optimal algorithm captures the evaders in the minimum capture time, when the evaders and pursuers are equipotent and play optimally. We have then described an optimal algorithm for the superior evader case. Our third practical algorithm, is an assignment algorithm that guarantees the game terminates, has bounded captured time, is robust, and is scalable in the number of robots. We have validated the 56 feasibility of our algorithm by experimentally playing mobile robot-based pursuit evasion games on a physical testbed. 57 Chapter 4 Mitigating Multi-path Fading in a Mobile Mesh Network 4.1 Introduction With advances in processor, memory, sensing, actuation, and radio technology, it is possible to put together interesting systems using off-the-shelf components. A good example is a robot with navigation capabilities, and an on-board processor with wireless communication capabilities. Among its many uses, such a robot can be used as a router in a mobile wireless mesh network. In such a network, a team of robots can provide a communication substrate for a collection of clients. Such a mobile wireless mesh network can have applications in various settings. In an infras- tructure-less settings, it can be used to form a connection backbone, such as in the LANdroids project [1], where the goal is enable soldiers to communicate even in dense urban settings. A mo- bile wireless network network can also be quickly and autonomously deployed in urban search and rescue efforts, allowing searchers to communicate even when no other infrastructure exists: thus, small robots could venture where humans cannot, to search for survivors of earthquakes, collapsed mines and other disasters. 58 Unlike a static, manually deployed mesh network, a mobile network has an interesting capa- bility: nodes can move, and re-organize the network, to achieve optimize or improve coverage, performance, or other such objectives. In this paper, we leverage this mobility to consider a specic kind of performance improvement. Our work is motivated the observation that on of the main sources of radio signal fading in urban settings is multi-path propagation. Multi-path occurs when a transmitted signal takes more than one path to a receiver, causing the signals to interfere. The central observation of our paper is that robots can actively reduce multi-path ef- fects by making small movements (or micro-motion). By avoiding deep fades, robotics routers can increase network throughput, enabling applications with higher bandwidth requirements, or improving user satisfaction in general. Thus, in this paper we explore two questions. First,is it possible to improve the overall network throughput of a mobile mesh network by using (possibly coordinated) robotic micro- motion? How, precisely, would one design an on-line system that performed this optimization autonomously? In our work, we make minimal assumptions about the capability of robots, or of the infor- mation they have. We consider the scenario where the robots do not need any knowledge of the environment. Robots do not have a map of the physical layout or known obstacle points. They also have no a priori topological information about wireless connectivity or interference maps. It is often difcult to predict signal propagation characteristics within an urban environ- ment, since many factors can impact signal strength such as the angle of incidence, where an emitter is located, and even the building materials, so we do not use any models of radio prop- agation. Instead, we rely on empirical on-line measurements in order to make decisions about when to move. Finally, in our setting, robots are not constantly in motion, but only execute small 59 movements relative to their neighbors: this is appropriate, given our goal is to explore how ef- fective such motions are in improving performance. As a result, our work does not require robot localization or sophisticated navigation capabilities. Contributions. Our paper makes four main contributions. First, we show experimentally that, at least on our testbed, up to a factor of three improvement in TCP throughput can be obtained by robotic micro-motion. This is encouraging, since our experiments were fairly adversarial, suggesting that similar gains could be had in other environments. Second, we present the design of a practical system for coordinated robotic micro-motion. This system contains a novel use of a distributed constraint optimization framework: in this framework, robots make local mea- surements of a wireless performance metric, then decide, in coordinated fashion, which robot should move, and in what direction. This computation is executed iteratively, until the network converges to an improved throughput state. An important component of this framework is the choice of wireless performance metric: we empirically explore four different metrics, and show that a carefully chosen local metric can achieve a near-optimal performance. Finally, we evaluate our system with physical robots in an indoor environment and demonstrate that we are able to get an average global throughput improvement of 30% while maximizing only local metrics and with no a priori knowledge of the environment. To the best of our knowledge, no prior research has designed a practical system to take advantage of antenna gain resulting from micro-motion, nor has any work explore what throughput improvements are achievable. Our paper is structured as follows. In the next section, we start by providing the requisite background, and motivating the problem setting (Section 4.2). In Section 4.3, we rstly describe our robot platform. We then validate that network performance can improve from the robotic micro-motion by measuring TCP and UDP Throughput. 60 Then, we describe the distributed constraint optimization framework (Section 4.4) and de- scribe the design of our system. Finally, we describe our experimental methodology, and our main results in Section 5.5. 4.2 Background Radio signal fading can be attributed to two mutually independent phenomena: multi-path prop- agation and path loss. We briey discuss these phenomena and further details can be found elsewhere [69]. Multi-path propagation is a small-scale effect where the distance scales involved are on order of a wavelength. Multi-path occurs when a transmitted signal takes more than one path to a receiver, causing the signals to interfere. Interference has either a constructive or destructive effect on the main component depending on whether it arrives in or out of phase. Path loss is a large-scale effect of propagation in any medium (e.g., air or water), dened by the way in which radio energy is transmitted in the medium of propagation and its resulting loss. This property is also called slow fading. In this paper, we focus on mitigating the destructive interference arising from multi-path fad- ing. Two models of multi-path fading have been described in the literature: as described in [49], if all signal components that reach the receiver are of equal strength, the multi-path fading is called Rayleigh fading, while if there is a line-of-sight (LoS) component that is signicantly stronger, we have Ricean fading. In either case, small movements of the radio can help mitigate the ef- fect of deep fades (strong destructive interference), and this is the observation we experimentally explore in this paper. Others have made this observation: it has been suggested [1] that moving 61 1 4 to 1 2 of a wavelength (λ) is sufcient to escape a deep fade. Others [49] use a Rayleigh fad- ing model with data correlated until 0.38 wavelengths. However, to our knowledge, we are the rst to quantify TCP-level throughput improvements resulting from micro-motions, and also the rst to design a practical decentralized coordination strategy to exploit micro-motions to obtain performance improvements. In our work, we move our radios on the order of half wavelength so signals in different loca- tions are uncorrelated, helping our nodes escape deep fades. However, such movements cannot be performed independently. Fading for one radio is dened with respect to a single neighbor: a local movement may allow the radio to escape one deep fade, but at the same time introduce a new fade with respect to a different neighbor. Thus, it is critical to coordinate movements to improve the overall throughput. In this paper, we address a series of questions: (1) Is there a sequence of coordinated movements that improves the throughput? (2) How well will using only local information allow us to optimize the network (relative to the global optimum conguration)? 4.3 Can Micro-Motion Improve Throughput? In this section, we show experimentally that, at least on our testbed, up to a factor of 2.5 improve- ment in TCP and UDP throughput can be obtained by robotic micro-motion. To investigate the efcacy of small movements in improving mesh network throughput, we have used physical robots and conducted experiments in an ofce building. This section describes our platform and our experimental methodology, and then presents the results. 62 4.3.1 The Robot Platform We use a commoditized robotics platform and made minimal modications to it using commercial off-the-shelf products. Our platform consists of an iRobot Create and a small embedded computer mounted on top of it (Figure 4.1). The Create, a differential drive robot, has a round chassis with a diameter of 33 centimeters. The robot has two kinds of sensors. First, it has a pair of tactile sensors that, together with a bumper, can help determine if the robot hits an obstacle and the angle at which it does so. Second, it has a suite of infrared (IR) sensors: the bumper contains an IR wall sensor on the right and an omnidirectional IR receiver in the top, and four additional IR sensors mounted underneath the bumper facing down. We do not add additional sensing hardware to the Create. The embedded computer, the Ebox 3854, is an 800 MHz embedded PC with 256MB shared DDR memory, and supports a 1280x1024 VGA interface, one 10/100 LAN, and USB, mini PCI and compact ash sockets. The embedded computer runs Ubuntu (Linux Kernel 2.6.22) as the operating system. For sensing and control, we developed a Create driver for Player [25]. Figure 4.1: This picture shows part of the experiment set up, which has a team of iRobot Creates with an Ebox. 63 Experiment Set up 3 3 1 1 2 2 4 4 5 5 83 ft 4 ft 21 ft 43 ft 15 ft 33 ft 30 ft Flow 3-5-4 Flow 4-1-2 Flow 5-3-2-1 Figure 4.2: Initial Conguration of Team of Creates 4.3.2 Configuration Initially, our experiments use ve robots distributed throughout an indoor ofce environment as shown in Figure 4.2. Robots 1, 2 and 3 are within line-of-sight of each other, and the other robots are each not within line-of-sight of any robot. Figure 4.1 depicts part of our experiment set up. The robots were congured to use 802.11b, with an 11 Mbits/s data rate (maximum data rate), in ad-hoc mode. The transmission power was set to the lowest possible value so we could experi- ment with as many robots as possible. We use channel 14 (which is unused by commercial cards in the US), ensuring that we do not observe external interference. The network was congured with static routing to avoid routing apping (a router forwards packets via one route then changes to another router) interfering with the measurements. The network has three multi-hop ows, represented by arrows in Figure 4.2. The ows go through nodes 3-5-4, 4-1-2 and 5-3-2-1. The ows use all the links in the network. Each ow 64 takes 10 seconds for each sampling. We avoid interference between flows by starting and mea- suring the ows sequentially. This is deliberate: our objective is to determine if micro-motion can enable good path selection overall: running simultaneous ows would not have allowed us to observe the impact of improved throughput as a result of improving link quality, because the simultaneous ows would interfere with each other. Flows were created with the iperf [75] tool and SNR values were measured (per link) using the iwspy Linux utility. 4.3.3 Throughput Improvement The rst set of experiments quanties the throughput improvement obtainable from small move- ments. The basic methodology is to exhaustively evaluate all possible congurations resulting from each robot executing a micro-motion, and then measuring the throughput achieved by all the ows in each conguration. Since the total number of possible congurations is exponen- tial with the number of possible robot locations, we constrain robots to only two positions for tractability. In a later section, we will relax this assumption, allowing for more positions per robot. We use ve robots in our experiment, yielding a total of 32 possible congurations where each conguration is sampled at least three times. During all the measurements, the noise was constant at -98 dBm, which implies there were no external time-varying radio sources contributing signal interference. Figures 4.3 and 4.4 show the multi-hop TCP and UDP ow, respectively, per conguration. Indeed, there is high variability between the ows per conguration in both TCP and UDP ows. Flow 3-4 is the ow with highest variance. Flow 51 is the ow with the longest hops and has lowest throughput on average. Figure 4.4 shows that ow 3-4 has signicant difference in TCP 65 0 500 1000 1500 2000 2500 3000 3500 3->4 4->2 5->1 (Kbits/sec) Flows UDP Throughput Configurations 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Figure 4.3: UDP Flows 0 200 400 600 800 1000 1200 1400 1600 3->4 4->2 5->1 (Kbits/sec) Flows TCP Throughput Configurations 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Figure 4.4: TCP Flows throughput. We can also conclude that some ows will improve while others will degrade such as ow 4-2 and 5-1 for congurations 16 and 20. To quantify the variance, we sort the sum of the throughputs of all the TCP (respectively UDP) ows in each conguration. Figure 4.6 (and 4.5) shows that there is a signicant difference across congurations (recall that each conguration can be attained from a starting conguration by micro-motions of a subset of the 5 robots). There is almost a 2.5x difference in total throughputs between the best conguration and the worst. Note that our topology has not been especially engineered to achieve this result, which leads us to believe that in other topologies we are likely 66 Total UDP Throughput 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 Configuration Kbits/sec 29 31 30 28 32 17 23 25 19 24 21 18 26 20 27 22 16 14 15 12 5 4 6 13 1 9 7 8 10 3 2 11 Figure 4.5: Sorted Total UDP Flows Total Throughput 0 500 1000 1500 2000 2500 3000 3500 4000 4500 Configuration Kbits/sec 29 28 31 32 30 19 25 17 23 18 21 26 24 20 22 16 27 15 4 14 5 12 6 9 7 8 1 13 10 11 2 3 Figure 4.6: Sorted Total TCP Flows 67 to see similar performance improvements. This suggests that a mechanism for coordinated small movements can improve performance signicantly. From this section, we conclude that there is a signicant difference in UDP and TCP through- put obtainable from micro-motions. In the next section, we we discuss how to design a system to take advantage of micro-motions to improve throughput. 4.4 Using Distributed Reasoning for Micro-Motion Based Throughput Improvement In this section, we describe the distributed constraint optimization framework and how we use it to design a decentralized method for throughput improvement in mobile mesh networks. A distributed constraint optimization problem (DCOP) consists of a set V of n variables, fx 1 ;x 2 ;:::;x n g, assigned to a set of agents (e.g., independent reasoning entities), where each agent controls one variable's assignment. Variable x i can take on any value from the discrete nite domain D i . The goal is to choose values for the variables such that the sum over a set of binary constraints and associated payoff or reward functions, f i j : D i £ D j ! N, is maximized. More specically, to nd an assignment, A, s.t. F(A) is maximized: F(A) = ∑ x i ;x j 2V f i j (d i ;d j ), where d i 2 D i ;d j 2 D j and x i à d i ;x j à d j 2 A. For example, in Figure 4.7, x 1 , x 2 , and x 3 are variables, each with a domain of {0,1} and the reward function as shown. If agents 2 and 3 choose the value 1, the agent pair gets a reward of 9. If agent 1 now chooses value 1 as well, the total solution quality of this complete assignment is 12, which is locally optimal as no single agent can change its value to improve its own reward (and that of the entire DCOP). F((x 1 à 0); (x 2 à 0); (x 3 à 0)) = 22 and is globally optimal. 68 x 2 x 1 1 0 1 0 3 7 2 2 x 2 x 3 0 1 0 1 9 2 2 15 2 3 1 R 2,3 R 1,2 Figure 4.7: This gure depicts a three agent DCOP. In this problem, we model each mobile radio as an agent. Every value an agent can take is one possible physical position for the mobile radio. Constraint exist between neighbors in the wireless network. Rewards on the constraints are dened by a local metric, such as the packet reception rate on the wireless link between two neighbors. While there are many approaches to solving DCOPs, we implemented the Maximum Gain Message (MGM [62]) DCOP method. The MGM algorithm will nd a locally-optimal assign- ment of values for all agents. MGM denes a round as a period in which every agent: (1) communicates its current value to all its neighbors, (2) calculates and communicates its bid (the maximum gain in its local reward if it is allowed to change values) to all its neighbors, and (3) changes its value (if allowed). An agent is allowed to change its value if its bid is larger than all the bids it receives from its neighbors. At quiescence, no one agent can deviate from the proposed assignment and increase the net reward. We denominate MGM-Omniscient when the agents have the reward for each possible value. MGM-Omniscient gives an upper bound. The agents in a DCOP are traditionally assumed to have a priori knowledge of the corre- sponding reward functions. In order to more exibly model a class of real world domains, we previously introduced Distributed Cooperative Exploration and Exploitation (D-CEE) [37] prob- lems, which do not make this assumption. Thus, D-CEE problems appear similar to DCOPs, but with the following features absent from DCOPs: (1) agents initially know the constraint graph 69 but only discover rewards when a pair of agents set their values to explicitly discover a reward value, (2) problems last a set amount of time, and (3) the agents' seek to maximize the on-line global reward over this time horizon T . The mapping from our network optimization problem onto a D-CEE is similar to that of a DCOP, with one important difference. Agents (robots in our case) must explore different locations to determine the value of local (point-to-point) metrics, and we provide a time horizon after which the agents must stop optimizing (to ensure that the network converges quickly) and the on-line reward is maximized (ensuring that the network will quickly improve, and that it will be performing as well as possible during the optimization). SE-Mean [37], a D-CEE algorithm used in this paper, assumes the average reward (denoted μ) on each constraint for all unexplored values for agents. On every round, each agent bids its expected gain: NumberLinks£ μ¡ R c where R c is the current reward. The algorithm then proceeds as in MGM-Omniscient. This algorithm causes the agents to greedily explore until they achieve the average reward, allowing them to converge on an assignment. Thus, the overall algorithm consists of two phases. In the rst phase, each robot indepen- dently, and without coordinating with other robots, samples the local metric. After computing the local metric with respect each neighbor, each agent calculates the mean (μ) and standard de- viation to be used as input to the SE-Mean. The second phase consists of running the DCOP as explained above. The pseudo-code of the algorithm is presented in Algorithm 4. In summary, we model the problem of maximizing throughput as a DCOP/D-CEE problem, where robots must coordinate their movements in a decentralized fashion. The overall goal is to maximize the throughput of a set W of (possibly multi-hop) ows w i j between nodes, but by using purely local metrics. These local metrics enable nodes to effectively use micro-motion to 70 Algorithm 4 D-CEE Algorithm 1: {Explore Phase} 2: for subset of positions do 3: Sample 4: Move 5: end for 6: Calculate average reward μ 7: {Second Phase - Extended MGM Algorithm} 8: repeat 9: Sample 10: Communicate current value 11: Calculate and Communicate bid 12: Winner of bid Moves 13: until achieve average reward over all neighbors get away from deep fades, thereby improving link quality as well as w i j . An important component of our design is the choice of the appropriate local metric. As it turns out, this choice makes a signicant difference to the performance of our algorithm, which we evaluate in the next section. 4.5 Results In this section, we experimentally evaluate our system using the distributed constraint optimiza- tion framework. Initially, we explore four different local metrics, and show that the choice of local metric is important for the performance of our algorithm. Thereafter, we quantify the per- formance improvement attainable in practical settings by demonstrating end-to-end evaluations of our algorithm. 4.5.1 Local Metrics This section evaluates the possible local metrics to be used as a local reward to the coordination algorithms so that the system can achieve a global reward improvement. These results will prove essential to understanding the system performance, described in the following subsection. 71 We evaluate four local metrics, each of which denes the reward of a particular agent (and thus how likely it will want to change its position): ² minimum SNR (Signal-to-noise ratio) is the minimum SNR on an agent's links ² the summation of SNR is the sum of all SNRs on an agent's links ² the minimum PRR (Packet Reception Rate) is the minimum PRR on an agent's links ² and the summation of PRR is the sum of all PRRs on an agent's links Our specic choice of these four metrics is driven by their simplicity: these metrics can be esti- mated cheaply and quickly so that network reconguration can be done faster than if other, more heavyweight methods (such as direct throughput measurement) were used. Our work borrows heavily from the wireless literature, which has long used SNR[13, 41, 4] and PRR[39, 47, 43] as predictors for link quality and throughput in 802.11 radios. However, a link quality metric alone does not dene a reward function. In general, each node in a network may have many neighbors, and the reward function is dened per node. There are two natural choices for the reward function for a node: the min of the link quality metric (either SNR or PRR) over all neighbors, or their sum. This results in four choices for the local metric, which we evaluate below. To evaluate the local metrics, we conducted experiments with the same conguration as in Section 4.3.2. There are ve robots, each with two possible positions, yielding a total of 32 possible congurations where each conguration was sampled at least three times. We have the ground truth for the experiments since, for each conguration, we measured the actual throughput for each ow. In this way, we know which conguration was optimal. It is 72 also important to notice that we do not need to estimate (SE-Mean) the reward matrices since we collected data for all possible congurations. We evaluate the overall system improvement obtained by using MGM-Omniscient. We focus on the four local metrics. Recall that each agent will work to maximize its local reward (in this case, the sum or max of the SNR or PRR on its links), which will ideally maximize the global metric. Although the agents work to maximize SNR and PRR, this section shows that the corresponding network ows are also maximized, even though they are not directly measured by the agents for optimization purposes. We compare the best local metric to predict global gain. Figure 4.8 shows how close to the optimal the congurations are when using the local metric. First, we can conclude that the local metric matters when designing the system. For instance, the min SNR improves the total through- put on average almost 45%. The improvement is not higher than this because our approach uses a local metric to maximize a global metric, and because the local metric might incur prediction error. Secondly, we can also conclude that it is possible to achieve a near-optimal performance with a carefully chosen metric: as the gure shows, Sum PRR metric shows that it is possible to achieve the near-optimal performance. In summary, we can improve throughput by carefully choosing a local metric (Sum PRR) within the DCOP Framework. 4.5.2 Optimizing with More Positions We have also conducted experiments in which robots are allowed to sample more positions. Our approach is generic and does not need to be modied to support additional positions. For our experiments, we allowed each robot to have ve possible positions as illustrated in gure 4.9(a). 73 0 3 0.4 0.5 0.6 0.7 0.8 0.9 1 ptimailty Ratio Optimality Ratio 0 0.1 0.2 0.3 Min SNR Min PRR Sum SNR Sum PRR Op Metric Figure 4.8: Improvement per metric The work by [49] solves the problem of how many samples are needed for given communication performance. It is not practical for agents to visit all positions since the number of congurations is ex- ponential. Thus, in this case (unlike our experiments above where there were fewer positions) agents need to estimate the local metrics for unexplored positions, which is calculated by the Static Estimation (SE) Mean Algorithm. Thus, the overall algorithm consists of two phases. In the rst phase, each robot indepen- dently samples the local metric. There is no coordination and the robots sample simultaneously. After collecting the local metric to all its neighbors, agents calculate the mean (μ) and standard deviation to be used as input to the SE-Mean. The second phase consists of running DCOP as explained previously. Figure 4.9(b) shows an experiment conguration. We run the experiments with ve robots and three ows. Each robot can move ve positions. The SE-Mean algorithm is used to estimate the local metric values for the unexplored positions. 74 Position 1 Position 3 Position 4 Position 5 Position 2 /2 /2 /2 /2 (a) Positions Flow 2 o Flow 3 Flow 1 (b) Topology with 5 robots Throughput Gain 1.3 1.35 1 15 1.2 1.25 Gain 1.05 1.1 1.15 G 1 1 2 3 4 5 6 7 8 9 10 11 12 13 Round (c) Throughput Improvement per Round Total Throughput 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 1 3 5 7 9 11 13 Round Throughput (Kbits/sec) Flow3 Flow2 Flow1 (d) Throughput per round per ow Figure 4.9: Experiment Results 75 Figure 4.9(c) illustrates the overall percentage gain over each round. The base is the initial total throughput. The system gain is about 35%. In Section 4.3, we showed that up to a 2.5x performance improvement is possible with micromotion. Our results from this experiment do not contradict our earlier nding: that nding discusses the performance difference between the worst and the best conguration. In this experiment, we started with an arbitrary conguration that was not guaranteed to be the worst, hence the actual performance improvement we see is not as high. In some rounds, the overall gain decreased when compared to previous round. This is because the robots do not know the direction of its neighbors. When a robot moves, the robot might go to the opposite direction of the neighbor with the weakest local metric. The system can overcome this in the next round since robots will move again. The iterations stop when the local metric has improved more than a threshold. These results are encouraging because, even with relatively simple local algorithms, and using small movements, we could improvement system throughput signicantly. Figure 4.9(d) shows each ow's throughput per round. Two ows have little variance over time, while one ow's increases signicantly as a result of micromotio. Therefore, using SE- Mean to estimate unexplored positions, the system can handle many positions and still improve throughput. 4.5.3 Temporal Variation Could our performance improvements have been explained by temporal variation of wireless signals? To test this, we disabled robot motion so we could measure how the wireless signal varies over time. Figure 4.10 depicts the static total throughput variation over time. The maximum 76 Gain Variation over Static Formation 1 25 1 1 1.15 1.2 1.25 0 95 1 1.05 1.1 Gain 0 8 0.85 0.9 0.95 0.75 0.8 Round Figure 4.10: Static Variation variation is about 5%, which doesn't explain the 35% improvements we see in our experiments. Thus, system improvements do not arise simply from changes in the environment. 4.5.4 An experiment with more robots Flow 1 Flow 3 Flow 2 (a) Topology with 7 robots Throughput Gain 1.35 1.25 1.3 1.15 1.2 Gain 1.05 1.1 1 1 2 3 4 5 6 7 8 9 Round Round (b) Throughput Improvement per Round Figure 4.11: Experiment Results We conducted experiments with more than give robots to validate our distributed system. Figure 4.11(a) shows an experiment conguration which has seven robots and three multi-hop 77 ows. Each robot can move ve positions. Figure 4.11(b) illustrates the overall percentage gain over each round. In this conguration, we are able to get an overall system-wide performance gain of about 30%. 4.6 Conclusion In this paper, we demonstrate that mobile robots can be used successfully in a mesh network. With robotic routers forming a network, nodes can avoid deep fade caused by multi-path fad- ing. Our study shows that small movements can improve network performance and that the total network throughput could vary as much as 300% when the robots moved on the order of half a wavelength. Avoiding deep fades is a pairwise problem between sender and receiver, which requires coordination. Thus, we designed a practical system which uses the distributed constraint optimization framework to improve communication. We studied four local metric (min SNR, min PRR, sum SNR, sum PRR) to estimate the global throughput. Our results are encouraging because we can achieve an average global performance improvement of 30% while maximizing only local metrics. 78 Chapter 5 Towards Autonomous Wireless Backbone Deployment in Highly-Obstructed Environments 5.1 Introduction With advances in processor, memory, sensing, actuation, and radio technology, it is possible to put together interesting systems using off-the-shelf components. A good example is a robot with navigation capabilities, and an on-board processor with wireless communication capabilities. Among its many uses, such robots can be used as a routers in a mobile wireless mesh network. In such a network, a team of robotic routers can provide a communication substrate for a collection of clients. Such a mobile wireless mesh network might nd application in various settings which are either without infrastructure or infrastructure-impoverished e.g., military operations, urban search and rescue, disaster response and re-ghting [50]. In this work, we consider a specic problem that arises naturally in such settings: how and where to deploying a wireless (robot router-based) backbone to ensure pairwise connectivity 79 between a given set of clients. We address this problem in the face of a realistic performance constraint: each backbone link is required to operate at or above a pre-specied data rate. Our work focuses on highly-obstructed environments. In such environments, prior approaches to deploying a wireless backbone [73, 11] that have used convex optimization fail: in obstructed environments, wireless propagation does not observe the triangle inequality, resulting in a non- metric space and violating a fundamental assumption upon which prior work is based. Contributions. To overcome this challenge, we develop an algorithm called Potential Field- based Wireless Backbone Deployment (or, PFWD, for short). In PFWD, a team of mother ship robots, each starting from one of the clients, deploys into a given environment, guided by attrac- tive and repulsive forces in a potential eld, thus forming a wireless mesh network. We dene an attractive force between each client and each robot, where the force is derived from an indoor radio propagation model. The attractive forces are designed to ensure that the mother ship robots converge to the point where the maximum wireless signal attenuation from each client to the mother ship robots is minimized. Repulsive forces are used for obstacle avoidance and to avoid local minima. As each mother ship moves, it deploys robots along the way in order to maintain the following invariant: there must exist a connected multi-hop path from each mother ship to the client where it started from. Robot deployment uses a feature of the 802.11a/b/g/n standard, which species the minimum radio signal required to establish a link of a given rate. Eventually, the mother ships converge at the point of lowest potential, ensuring that each client is connected to every other client at the specied link rate. We validate and evaluate PFWD using simulation and experimentation. We are able to show that the algorithm provides feasible networks. 80 This work is structured as follows. In the next section, we discuss the problem formulation (Section 5.2). We provide describe a radio propagation model for and indoor environment and how to handle the data rate link constraint in Section 5.3.1. In Section 5.3.2, we describe the key challenge: the wireless radio is not a metric space. Next the algorithm based on the virtual potential elds (Section 5.4) is described. Finally, we describe our experimental methodology, simulation results and validate our algorithms by measuring TCP and UDP Throughput at realistic environment in Section 5.5. 5.2 Problem Formulation Client Wall D Mbps Link Obstacle Robot Figure 5.1: A sketch of the problem and a solution over a oorplan 81 We wish to deploy a team of N mobile robots to connect C clients in a given environment. We dene the problem as follows: Input: Given C clients, their positions, a map E of the environment, and a performance speci- cation in the form of a minimum data link rate constraint of D Mbps. The environment map E includes a complete oorplan, with obstacles. The obstacles specify where it is not possible to deploy robots. Some obstacles (e.g., walls) might also affect radio propagation. Modern wireless standards operate at different transfer rates or speeds. For example, the popular 802.11a standard can operate at 8 different rates, ranging from 6 Mbps to 54 Mbps. The highest rate at which a wireless link between two nodes can operate depends upon their distance (among other factors): intuitively, the closer the nodes are, the higher their achievable operating rate. Objective: Deploy the minimum number of mobile robots to form a (possibly) multi-hop wireless backbone that ensures connectivity between each pair of clients, while ensuring that each wireless link can operate at least D Mbps, and without violating restrictions imposed by the environment (e.g., robots cannot be placed in occupied areas). Our problem specication requires that, in the resulting network backbone, the minimum rate at which each link in the network must operate is D Mbps. This represents a tradeoff between performance and the number of robots needed to cover the set of clients C: with a higher D, more robots are necessary, but can ensure better performance (as perceived by the clients). Output: The position p r i for each robot r i in the environment E. Figure 5.1 shows an instance of the problem, and a viable solution. The map E contains obstacles and walls. Clients are represented by laptops, and robots by an image of the iRobot Create. The position of the robots 82 is the output of the algorithm. The black lines show the links in the network backbone. Each client can connect to at least one robot; between each pair of clients, there exists a multi-hop network path. Observe that some inter-robot links traverse walls and other obstacles: while robot placement is constrained by walls and obstacles, inter-robot communication is not. Indeed, this last point indicates why this problem is very challenging. Previous approaches to robotic deployment [11] have generally assume unobstructed environments. In such environments, it is reasonable to assume that signal strength of radio propagation decays monotonically with distance thus the problem is one of deployment in a metric space. Techniques like convex optimization or linear programming apply in such a setting. In the presence of obstacles, this assumption is violated, and new techniques must be found. In the next section, we describe our approach to robotic deployment in obstructed environments. 5.3 Solution Overview In this section, we present an overview of our approach. As discussed in Section 5.2, radio propagation in obstructed environments forms a non-metric space (e.g., the triangle equality does not hold for radio signal strength in an environment with obstacles). To understand this better, we rst describe models of radio propagation both in free-space and in the presence of obstacles, and then explain how radio propagation in the presence of obstacles forms a non-metric space. Since traditional solutions no longer apply, we have designed an algorithm called Potential Field-based Wireless Backbone Deployment (or, PFWD, for short). This algorithm uses virtual potential elds. Potential Fields provide virtual forces similar to an electric eld. They provide 83 attractive and repulsive virtual forces to cause robots to move from a high potential state to a low potential state similar to the way in which a charged particle would move in an electrostatic eld. We use potential elds in two ways. First, an attractive force determined by the radio propaga- tion model guides robot placement to ensure connectivity. This is a departure from previous work, which has used physical distance to set the attractive force. Our use of a potential eld-based it- erative approach results in an algorithm guaranteed to converge, for a given xed environment E, (but possibly to a local optimum) even in a non-metric space [34]. Second, we use repulsive forces in the potential eld for obstacle avoidance, a more traditional use of potential elds. Finally, to guarantee the data rate constraint, we use a feature of the 802.11a wireless standard specication. This standard species the minimum signal-to-noise ratio (SNR) required to decode transmissions, at each allowable data rate. PFWD leverages this in a novel manner as follows: It uses an indoor radio propagation model to predict SNR between robots or between a robot and a client, and guides the deployment of robots such that the SNR between backbone links is sufcient to ensure the data-rate constraint. PFWD is designed as an ofine deployment tool: given the inputs described in Section 5.2, it is executed ofine to produce the robot positions. We have left an online version, which incre- mentally deploys robots, for future work. While PFWD is discussed in greater detail in the next section, we now preview radio propa- gation and its implications for robot deployment in obstructed environments. 5.3.1 Radio Model While wireless propagation is known to be hard to characterize in general, there has been a signicant line of research attempting to t models to radio propagation characteristics observed 84 in different environments [66, 67, 2]. An indoor radio propagation model predicts the path loss from a transmitter to a receiver inside a building delimited by walls. The attenuation factor(AF) model [66] is a commonly-used radio propagation model for indoor environments. It is an in- building site-specic propagation model that includes the effect of building materials and building structures. This model decomposed the path loss into three factors: attenuations from propagation through an ofce or hallway, propagation through a wall, and propagation through a oor. Specically, the model is described by an equation that calculates the multiplicative factor PL(d) by which signal power is attenuated (hence the attenuation factor or AF model) between a transmitter and a receiver whose physical distance is d. The model is approximate, since it models only the direct (or primary) path between transmitter and receiver, and not any reected paths. As such, it does not incorporate multi-path fading: in chapter 4, we have discussed techniques to improve network throughput using robotic motion to mitigate multi-path fading. The AF model is reported [66] to provide loss within 4dB of the actual path loss. According to the AF model, PL(d) is given by: PL(d) = PL(d 0 )+ 10nlog µ d d 0 ¶ +WL¤ w+ FAF( f) (5.1) where n is the path loss exponent and indicates the rate at which the attenuation increases with distance. d 0 is a reference distance. The variable WL represents attenuation through a single wall, and the term WL¤w represents the attenuation factor for communication traversing w walls. (This is a simplied model: in practice, because of material and construction differences, different walls have different attenuation factors, which we discuss later). FAF is a function that represents 85 a oor attenuation factor for a specied number f of oors; generally, FAF is monotonically increasing. An important component of this model is the increasing attenuation as a function of distance: in general, the wireless signal attenuates logarithmically with distance. Moreover, note that the model has several parameters, which need to be empirically measured for a given environment E: the path loss exponent n, and, the attenuation factor W (or more generally, an attenuation factor W l for each distinct wall type l). In lieu of measurement, one can obtain nominal values for these parameters from standard texts [66]. 5.3.2 Attenuation in the Presence of Walls X Z Y Figure 5.2: Triangle inequality does not hold for path loss In unobstructed environments (i.e., in the absences of walls/oors), the attenuation factor satises the triangle inequality (or, equivalently, denes a metric space). To see why this is so, consider two points x and z and two rays: one directly from x to z and another reected from a point y (Figure 5.2). In the absence of walls, the attenuation of the reected ray will always be higher than that of the direct ray. However, if there is a wall between x and z, the direct ray may 86 be attenuated more than the reected ray, depending on the value of W, resulting in a non-metric space. Why is this important? Previous work on robotic deployment has assumed that wireless at- tenuation is a metric space (i.e., they have ignored walls and obstacles). In such a regime, it is possible to use common well-known mathematical optimization tools such as linear program- ming, or to use geometric techniques based on V oronoi Diagrams for deployment of robotic networks [11]. However, these algorithms cannot be easily extended to non-metric spaces. Figure 5.3: The space partition of wireless signals might result in disjointed cells To understand this, consider Figure 5.3 which depicts two wireless transmitters and the result of applying a V oronoi space partition based on the attenuation factor. Within each region, all points experience lower attenuation factor from the corresponding transmitter than from any other transmitter. In the presence of the wall, the V oronoi cells might not be convex and might result in disjoint cells, as shown in the gure. Prior work has deployed robots at the centroid of each V oronoi cell, but, in our example, this centroid may not even fall within the cell! For this reason, PFWD uses a qualitatively different approach, based on iterative potential elds. 87 5.4 The PFWD Algorithm In this section, we describe the PFWD algorithm. The algorithm takes as input p c j , the position of client j for 1 <= j <= m, an environment map E, and a data rate constraint D. The outputs are the N robot positions p r i . As discussed below, PFWD is an iterative potential eld-based approach. In PFWD, a robotic mother ship is initially co-located with each client. m clients imply that our algorithm uses m mother ships. Each mother ship is then guided by the potential eld towards the minimum energy position (we describe the choice of the forces, and the minimum energy position below). As each mother ship moves, it continuously evaluates whether it needs to deploy a robot r i (a node in the wireless backbone): if so, it marks the current position as one of the outputs p r i . For the purposes of this work, the deployed object need not be a robot, but can be a wireless router. However, as we describe in chapter 4, we envision that the deployed wireless backbone will need to be iteratively repositioned, using local motions in order to mitigate fading due to multi-path effects. Thus, PFWD has two components: the attractive and repulsive forces that dene the potential elds, and the deployment algorithm that determines when robots are deployed by mother ships. We discuss each component in turn. 5.4.1 Potential Fields in PFWD Potential Fields are used to represent goals and constraints. In PFWD, they provide virtual forces to guide the mother ships to move from a high potential state (near each client) to a low potential state similar to the way in which a charged particle would move in an electrostatic eld. The 88 design of these forces in order to achieve the deployment objective is a novel contribution of this paper. In PFWD, there are two kinds of forces. The rst, F client , is an attractive force dened between each mother ship and every client, and causes the mother ships to converge to a low potential state. The second, F obstacle causes mother ship robots to be repelled by obstacles. By using a combination of these forces each robot minimizes its energy by moving to a rendezvous point, trying to minimize the travelled distance while avoiding obstacles. Mathematically, the forces are expressed as follows. Consider a network of M mother ships < s 1 ;s 2 ;¢¢¢;s m > and M clients < c 1 ;c 2 ;¢¢¢;c m >. Let the position of the j-th client be denoted by p c j and that of the i-th mother ship, at any instant, by p s i . For position p i , we use (x i ;y i ) to denote its coordinates on a 2-D plane. A force has two components: an orientation and a magnitude. For a mother ship robots i and a client j, the orientation of the force is given by equation 5.2. θ = atan2(y j ¡ y i ;x j ¡ x i ) (5.2) The function atan2 is a variant of the trigonometric arctangent function, but accounts for the quadrant in which θ lies. For a mother ship s i and a client c j , the magnitude of the force is given by: F client = K client ¤(PL(d 0 )+ 10nlog µ d i; j d 0 ¶ +WL¤ w+ FAF( f)) (5.3) 89 where d i; j is the distance between s i and c j , w is the number of walls and f the number of oors between s i and c j , and K client is a force constant, and other terms are as dened in 5.1. Thus, the attractive force is proportional to the signal attenuation (even in the presence of obstacles): collectively, these attractive forces ensure that each mother ship moves to a point where the max- imum path loss between a mother ship and every other client is minimized. PFWD also denes repulsive forces between mother ship and obstacles. Obstacles represent 2 dimensional objects within which no robots can be deployed. The repulsive forces ensure obstacle avoidance. However, a repulsive force alone may result in a local minimum for concave objects [42], so we also include a tangential force that moves the mother ship along the side of the object. We discuss more about local minimum in the end of this subsection. Thus, between each mother ship and an obstacle o, we dene a force F(i;o) that consists of two components: a repulsive force that is perpendicular to the obstacle and a tangential force to avoid local minima. We make one subtle distinction between obstacles and walls. In our model, walls are 1D objects which merely attenuate wireless signals, but can be navigated around by a robot. Since PFWD is designed as an off-line tool to determine positions of robot deployment, we let mother ships pass through walls following radio propagation. If we were using PFWD online for de- ployment we would have to x this with a navigation algorithm that causes the robot to navigate around the wall. Finally, we note that there is no force between the mother ship robots. The second component of PFWD ensures inter-robot placement distance, as described below. Thus, mother ship robot i will experience a net force of F i = ∑ 8 clients j F(i;j)+ ∑ 8 obstacles o F(i;o) (5.4) 90 Following basic physics, the equation of motion for node i is: ¨ x i (t) = µ F i ¡ ν ˙ x i m ¶ (5.5) where ¨ x denotes the acceleration of the robot, m is the virtual mass of the robot which is assumed to be 1, and ˙ x i is the robot velocity. The second term on the right hand side of this equation has a viscous friction term in which ν is the viscosity coefcient. The viscous friction is a damping factor that has the effect of removing energy from the system: the total energy decreases mono- tonically over time, and since the potential energy of the system is bounded, this ensures that the system will ultimately reach a state of static equilibrium (i.e., a state in which all mother ship robots have stopped moving). Equation 5.5 can be used to map the virtual force onto a velocity control vector. We can calculate the next position by, for every time step4t, calculating: 1. Total Force F i 2. Velocity as ˙ x t+1 = ˙ x t + (F i ¡ν ˙ x t ) m 4t 3. Position to x t+1 = x t + ˙ x t+1 4t Using these equations, each mother ship determines where to move, iteratively, until it converges to the minimum potential energy point. In summary, these forces ensure that each mother ship moves to a point where the maximum path loss between a mother ship and every other client is minimized, while avoiding obstacles. However, the correctness and performance of PFWD depends upon the choices of its parameters. The algorithm is not guaranteed to converge for all choices of parameters, for a given environment 91 E. For example, a choice of a high ν can cause the system to run out of energy prematurely. Sim- ilarly, if the obstacle tangential force is not strong enough, a mother ship may not be able to exit a local optimum. Currently, PFWD users can overcome this by using conservative parameters (low ν values or high tangential forces) at the expense of convergence time. But if the local opti- mum problem persists for a challenging environment E, one approach is to apply complimentary techniques. One such technique is the Harmonic Potential Fields [42], which uses harmonic func- tions to build an articial Potential Field free of local minima. Understanding optimal parameter settings for a given environment E is left to future work. 5.4.2 The Deployment Decision in PFWD The second component of PFWD determines where the mother ship will deploy robots. To do this, it uses an algorithm that tests the following invariant for each mother ship s i : s i always has a multi-hop path from itself through already-deployed robots (possibly deployed by other mother ships) to its own client c i , and that each hop in the path can sustain a link rate of D. When s i is at a position where this invariant is violated, it backtracks to a previous position where the invariant holds, and deploys the robot there. The movement of each mother ship is guided by the forces described above. The pseudo-code for the algorithm is in Algorithm 5. To check whether the mother ship is connected to its client, it needs to know the positions of all robots that have been deployed until now, and each deployed robot's neighbors. For this, the algorithm maintains an adjacency matrix. It uses a graph connectivity algorithm to determine if connectivity exists between itself and the client. (In a practical system, the mother ship can use a decentralized routing protocol [17] to 92 Algorithm 5 Deployment Algorithm 1: while has energy to move do 2: if Is D Mbps connected with last deployed robot ? then 3: Move using Potential Fields 4: else 5: Move one step back 6: Deploy Robot 7: add new entry to adjacency matrix of deployed robots 8: end if 9: if all clients connected? then 10: break 11: end if 12: end while determine the existence of connectivity). When all the clients converge to the minimum potential point, by construction there will exist a multi-hop path between every pair of clients. Rates (Mbps) SNR (dB) 54 24.56 48 24.05 36 18.80 24 17.04 18 10.79 12 9.03 9 7.78 6 6.02 Table 5.1: Necessary SNR for required data rate How does PFWD determine that a mother ship is disconnected from its client, and also ensure the link data rate constraint D? To do this, it relies on a feature of modern standard radios, which can operate on different data rates. Moreover, the standard denes the minimum SNR needed to decode a transmission at a given rate. The table 5.1 [3, 80] presents these SNR values. Given a mother ship's location, PFWD uses 5.1 to determine the SNR between itself and its neighboring deployed robots. When the SNR to every neighbor is below the minimum SNR required to maintain the target rate D, the mother ship considers itself to be disconnected, 93 backtracks and deploys a robot. Thus, at each step of PFWD, each robot is guaranteed to have at least one link capable of operating at D Mbps. This guarantee is true in PFWD assuming that the path loss model holds; as we shall see in our evaluations, this works quite well. In a practical deployment system, a mother ship can directly measure the SNR and maintain the above guarantee. Finally, our description of PFWD has implicitly assumed that each mother ship initially has an innite number of robots. Thus, PFWD may deploy more robots than the user may have at her disposal. To obtain a deployment requiring no more than the number of available robots, the user can try lower D values: a lower value of D generally results in longer wireless links, and therefore fewer robots. 5.5 Evaluation In this section, we validate and evaluate PFWD using analysis, simulation, and experimentation. We begin by illustrating various wireless backbone topologies using simulations of PFWD. We then present an experimental validation of PFWD, followed by a performance comparison against other candidate deployment strategies. 5.5.1 Validating the PFWD Tool We have implemented the PFWD algorithm in an ofine tool, which takes the inputs discussed in Section 5.2, and outputs robot positions p r i . We illustrate the outputs of PFWD for some canonical topologies (Figures 5.4(a)- 5.4(d), with two goals: to validate that PFWD produces reasonable results, and give the reader some intuition for its operation. In the gures, the black 94 dots represent the clients, the green dots (lighter) the deployed robots and the red dots (gray) the mother ships. The blue lines represent the trajectory of the mother ships, and the green circles represent the communication range in free space. (a) Three Clients (b) Three clients with walls (c) Four Clients (d) Four clients with hole Figure 5.4: Simulation results Figure 5.4(a) shows the result for three clients. Notice how the mother ships converge on the centroid of the triangle, and the robots are deployed at regular intervals along the medians, as expected. This deployment is optimal, in the sense that it deploys fewest robots. Figure 5.4(b) shows the output when the conguration is the same as gure 5.4(a) but with the addition of a wall. Since a wall attenuates radio signals, robots are deployed more frequently on the segment crossing the wall. Figure 5.4(c) depicts the simulation output for four clients, where the mother ships again converge at the centroid of the gure. In this case, too, we can show the deployment to be optimal. Finally, Figure 5.4(d) depicts the case where there is an obstacle in the environment. We can see impact of the force F obstacles : the mother ships move counter-clockwise around the periphery of the obstacle until the viscous damping causes the system to lose energy and the algorithm converges. 95 5.5.2 Validating the PFWD Algorithm PFWD is an ofine tool for suggesting a wireless backbone deployment in an environment E. A natural question to ask is: does PFWD produce a feasible wireless backbone, namely one in which all clients are connected and every backbone link can operate at D Mbps. It is not im- mediately obvious that the answer should be afrmative, since PFWD makes several simplifying assumptions: the vagaries of wireless propagation are well known, the AF model for path loss and wall attenuation is known to be an approximation, and the SNR to data rate table is an idealized mapping which may not be fully met because of wireless card manufacturing variations. To validate PFWD experimentally, we employ the following methodology: ² We take an indoor ofce environment E and measure the parameters for the AF model. ² We then feed E and several client congurations to the PFWD tool. ² For each output from PFWD, we deploy robots at positions corresponding to the clients, and at the backbone robot positions suggested by PFWD. ² We then measure TCP and UDP data throughput between each pair of clients. The net- work conguration is said to be feasible if each data connection achieves a non-negligible throughput. Each throughput ow is the average of at least ve measurements. Flows were created with the iperf [75] tool and SNR values were measured (per link) using the iwspy Linux command. We use a commoditized robotics platform and made minimal modications to it using off-the- shelf components. Our platform consists of an iRobot Create and a small embedded computer 96 Figure 5.5: Robot platform (Ebox 3854) mounted on top of it (Figure 5.5). For sensing and control, we developed a Cre- ate driver for Player [25]. The embedded computer, the Ebox 3854, is an 800 MHz embedded PC with 256MB shared DDR memory and runs Ubuntu (Linux Kernel 2.6.22) as the operating system. It has Atheros wireless card with Madwi driver. (a) Simulation Experiment Set up 4 th fl. 1 2 3 1 Flow 1 Flow 2 Flow 3 3 2 (b) Deployment Configuration Throughput 0 2 4 6 8 10 12 Flow1 Flow2 Flow3 Flows Throughput (Mbps) UDP TCP (c) Throughput Figure 5.6: Environment with 3 clients and 3 robots Figure 5.6(a) shows the PFWD tool output for an environment with three clients, with a data rate constraint of 54 Mbps. PFWD suggests a backbone consisting of three robots (Figure 5.6(b)) and we measure the trafc throughput between the clients shown. Figure 5.6(c) shows the TCP and UDP throughput that the congured throughput provide. 97 (a) Simulation Experiment Set up 4 th fl. 1 2 Flow 1 Flow 2 Flow 3 Flow 4 1 3 4 2 (b) Deployment Configuration Throughput 0.00 2.00 4.00 6.00 8.00 10.00 12.00 Flow 1 Flow 2 Flow 3 Flow 4 Flows Throughput (Mbps) UDP TCP (c) Throughput Figure 5.7: Environment with 4 clients and 2 robots Figure 5.7(a) shows the simulation output for an indoor testbed with four clients. The sim- ulation outputs two robots' positions. Figure 5.7(b) shows the respective conguration for the physical world. It also depicts the congured ows we measure. Figure 5.7(c) shows the TCP and UDP throughput for four ows traversing the network links. Thus, we conclude that the algorithm provides feasible networks. Clients SNR error(dB) 3 3.3 4 3 Table 5.2: SNR Error Prediction Table 5.2 shows the average error prediction in dB between the AF model and our experi- ments. If measuring the radio model parameters, the AF model estimated the SNR in a 4 dB range [66]. 5.6 Conclusion In a setting that lacks infrastructure e.g., urban search and rescue, a team of networked mobile robots can provide a communication substrate by acting as routers in a wireless mesh network. We 98 studied the problem of determining the minimum number of robots, and how to position them, so that all clients using the resulting robotic network were connected and all network links satised minimum rate requirements. The key challenge we addressed was that in an environment with obstacles the path loss of a wireless link does not hold the triangle inequality. Our approach to the problem is based on virtual potential elds. Clients and environmental obstacles are modelled as virtual charged particles exerting virtual forces on the robots. We validated our algorithm with physical robots in an indoor environment and demonstrated that we are able to get feasible solutions. 99 Chapter 6 Conclusion In this dissertation, we extensively studied the interplay between Networking and Robotics. Using three case studies, we have shown that mobile robots can benet from an embedded network and also that a Network can benet from mobile robots with micro and macro-motion. For the rst case study, we have described a system that detects multiple evaders using wire- less sensor network, disseminates the necessary information using a decentralized protocol, and executes an algorithm that captures multiple evaders in near-optimal capture time. We have vali- dated the feasibility of our algorithm by experimentally playing mobile robot-based pursuit eva- sion games on a physical testbed. For the second case study, we demonstrated that mobile robots can be used successfully in a mesh network. With robotic routers forming a network, nodes can avoid deep fade caused by multi-path fading. Our study shows that small movements can improve network performance. For the third case study, we showed that a mobile wireless network can also take advantage of macro-motions steps from mobile robots. A mobile wireless network can quickly and au- tonomously be deployed in urban search and rescue efforts, forming a communication substrate. We investigated the problem of determining the minimum number of mobile robots and how to 100 position them so all clients are connected and the each link can provide some throughput require- ments. We veried that the radio propagation model follows the log-distance path model in our testbed. We evaluated our system with physical robots in an indoor environment and demon- strated that we are able to get feasible solutions. For future research, it is still interesting to explore the interaction between Networking and Robotics such as when we need to provide a wireless communication backbone for dynamics clients. 101 References [1] Broad Agency Announcement 07-46 LANdroids. [2] Propagation data and prediction models for the planning of indoor communication systems and local area networks in the frequency range 900 MHz to 100 GHz. In International Telecommunication Union, ITU-R Recommendation, 1997. [3] IEEE Std. 802.11a-1999, Part 11: Wireless LAN Medium Access Control (MAC) and Phys- ical Layer (PHY) Specications, IEEE., 1999. [4] Daniel Aguayo, John Bicket, Sanjit Biswas, Glenn Judd, and Robert Morris. Link- level measurements from an 802.11b mesh network. SIGCOMM Comput. Commun. Rev., 34(4):121132, 2004. [5] Fromme. M Aigner. M. A Game of Cops and Robber. Technical report, 1984. [6] Gazihan Alankus, Nuzhet Atay, Chenyang Lu, and Burchan Bayazit. Adaptive Embed- ded Roadmaps for Sensor Networks. In IEEE International Conference on Robotics and Automation, 2007. [7] Brian Alspach. Searching and Sweeping Graphs: a Brief Survey. Le Matematiche (Cata- nia), 59:537, 2004. [8] Maxim A. Batalin and Gaurav S. Sukhatme. Coverage, Exploration and Deployment by a Mobile Robot and Communication Network. In Telecommunication Systems Journal, Special Issue on Wireless Sensor Networks, pages 376391, 2003. [9] Alessandro Berarducci and Benedetto Intrigila. On the Cop Number of a Graph. Adv. Appl. Math., 14(4):389403, 1993. [10] Sourabh Bhattacharya, Salvatore Candido, and Seth Hutchinson. Motion Strategies for Surveillance. In Robotics: Science and Systems, 2007. [11] F. Bullo, J. Cortés, and S. Martínez. Distributed Control of Robotic Networks. Applied Mathematics Series. Princeton University Press, 2009. [12] Rainer E. Burkard and E. Çela. Linear Assignment Problems and Extensions. Handbook of Combinatorial Optimization, 4, 1999. [13] Kameswari Chebrolu, Bhaskaran Raman, and Sayandeep Sen. Long-distance 802.11b links: performance measurements and experience. In MobiCom ’06: Proceedings of the 102 12th annual international conference on Mobile computing and networking, pages 7485, New York, NY , USA, 2006. ACM. [14] J. Cheng, W. Cheng, and R. Nagpal. Robust and self-repairing formation control for swarms of mobile agents. AAAI, 2005. [15] Warren Cheung. Constrained Pursuit-Evasion Problems in the Plane. Master Thesis, U.British Columbia, 2005. [16] Harris Chi Ho Chiu, Bo Ryu, Hua Zhu, Pedro Szekely, Rajiv Maheswaran, Craig Rogers, Aram Galstyan, Behnam Salemi, Mike Rubenstein, and Wei-Min Shen. Tentacles: self- conguring robotic radio networks in unknown environments. In IROS’09: Proceedings of the 2009 IEEE/RSJ international conference on Intelligent robots and systems, pages 13831388, Piscataway, NJ, USA, 2009. IEEE Press. [17] T. Clausen and P. Jacquet. RFC3626: Optimized Link State Routing Protocol (OLSR), 2003. [18] Peter I. Corke, Stefan E. Hrabar, Ron Peterson, Daniela Rus, Srikanth Saripalli, and Gau- rav S. Sukhatme. Deployment and Connectivity Repair of a Sensor Net. In 9th International Symposium on Experimental Robotics 2004, 2004. [19] P. Corker, R. Peterson, and D. Rus. Localization and Navigation Assisted by Networked Cooperating Sensors and Robots. International Journal of Robotics Research, 24(9):771 786, 2005. [20] Nikolaus Correll, Jonathan Bachrach, Daniel Vickery, and Daniela Rus. Ad-hoc wireless network coverage with networked robots that cannot localize. In ICRA, 2009. [21] Joel M. Esposito and Thomas W. Dunbar. Maintaining Wireless Connectivity Constraints for Swarms in the Presence of Obstacles. In ICRA, pages 946951, 2006. [22] Kevin Fall. A Delay-Tolerant Network Architecture for Challenged Internets. In SIG- COMM ’03: Proceedings of the 2003 conference on Applications, technologies, architec- tures, and protocols for computer communications, pages 2734, New York, NY , USA, 2003. ACM. [23] A. Farinelli, A. Rogers, A. Petcu, and N.R. Jennings. Decentralized coordination of low- power embedded devices using the max-sum algorithm. In AAMAS, 2008. [24] B. P. Gerkey, R. Mailler, and B. Morisset. Commbots: Distributed control of mobile com- munication relays. In AAAI Workshop on Auction Mechanisms for Robot Coordination, 2006. [25] Brian P. Gerkey, Richard T. Vaughan, Kasper Støy, Andrew Howard, Gaurav S. Sukhatme, and Maja J Mataric. Most Valuable Player: a Robot Device Server for Distributed Control. In Intl. Conf. On Intelligent Robots and Systems, volume 3, pages 12261231, Maui, HI, USA, 2001. 103 [26] Omprakash Gnawali, Ben Greenstein, Ki-Young Jang, August Joki, Jeongyeup Paek, Mar- cos Vieira, Deborah Estrin, Ramesh Govindan, and Eddie Kohler. The TENET Architec- ture for Tiered Sensor Networks. In Proceedings of the ACM Conference on Embedded Networked Sensor Systems, November 2006. [27] Arthur S. Goldstein and Edward M. Reingold. The Complexity of Pursuit on a Graph. Theor. Comput. Sci., 143(1):93112, 1995. [28] Matthias Grossglauser and David N. C. Tse. Mobility Increases the Capacity of Ad Hoc Wireless Networks. IEEE/ACM Transactions on Networking, 10(4):477486, August 2002. [29] Leonidas J. Guibas, Jean-Claude Latombe, Steven M. LaValle, David Lin, and Rajeev Mot- wani. Visibility-Based Pursuit-Evasion in a Polygonal Environment. In WADS ’97: Pro- ceedings of the 5th International Workshop on Algorithms and Data Structures, pages 17 30, London, UK, 1997. Springer-Verlag. [30] Daniel Halperin, Wenjun Hu, Anmol Sheth, and David Wetherall. 802.11 with Multiple Antennas for Dummies. SIGCOMM Comput. Commun. Rev., 40(1):1925, 2010. [31] D. S. Hochbaum. Heuristics for the xed cost median problem. Math. Programming, 22(1):148162, December 1982. [32] Andrew Howard, Maja J. Matari´ c, and Gaurav S. Sukhatme. An Incremental Self- Deployment Algorithm for Mobile Sensor Networks. Autonomous Robots, 13(2):113126, 2002. [33] Andrew Howard, Maja J. Matari´ c, and Gaurav S. Sukhatme. An incremental self- deployment algorithm for mobile sensor networks. Autonomous Robots Special Issue on Intelligent Embedded Systems, 13(2):113126, 2002. [34] Andrew Howard, Maja J. Matari´ c, and Gaurav S. Sukhatme. Mobile Sensor Network Deployment using Potential Fields: A Distributed, Scalable Solution to the Area Cover- age Problem. In Proceedings of the International Symposium on Distributed Autonomous Robotic Systems, pages 299308, 2002. [35] Mong-ying A. Hsieh, Anthony Cowley, Vijay Kumar, and Camillo J. Taylor. Towards the deployment of a mobile robot network with end-to-end performance guarantees. In Pro- ceedings of the 2006 IEEE International Conference on Robotics and Automation, pages 20852091, 2006. [36] V . Isler, S. Kannan, and S. Khanna. Randomized Pursuit-Evasion in a Polygonal Environ- ment. IEEE Transactions on Robotics, 5(21):864875, 2005. [37] Manish Jain, Matthew E. Taylor, Makoto Yokoo, and Milind Tambe. DCOPs Meet the Real World: Exploring Unknown Reward Matrices with Applications to Mobile Sensor Networks. In Proceedings of the Twenty-First International Joint Conference on Artificial Intelligence (IJCAI), July 2009. 104 [38] Sushant Jain, Kevin Fall, and Rabin Patra. Routing in a Delay Tolerant Network. In SIG- COMM ’04: Proceedings of the 2004 conference on Applications, technologies, architec- tures, and protocols for computer communications, pages 145158, New York, NY , USA, 2004. ACM. [39] Apoorva Jindal and Konstantinos Psounis. The achievable rate region of 802.11-scheduled multihop networks. IEEE/ACM Trans. Netw., 17(4):11181131, 2009. [40] R. Jonker and A. V olgenant. A Shortest Augmenting Path Algorithm for Dense and Sparse Linear Assignment Problems. Computing, 38(4):325340, 1987. [41] Glenn Judd, Xiaohui Wang, and Peter Steenkiste. Efcient channel-aware rate adaptation in dynamic environments. In MobiSys ’08: Proceeding of the 6th international conference on Mobile systems, applications, and services, pages 118131, New York, NY , USA, 2008. ACM. [42] Jin-Oh Kim and Pradeep Khosla. Real-Time Obstacle Avoidance Using Harmonic Potential Functions. IEEE Transactions on Robotics and Automation, June 1992. [43] Kyu-Han Kim and Kang G. Shin. On accurate measurement of link quality in multi-hop wireless mesh networks. In MobiCom ’06: Proceedings of the 12th annual international conference on Mobile computing and networking, pages 3849. ACM, 2006. [44] Benjamin Kuipers and Yung-Tai Byun. A Robot Exploration and Mapping Strategy Based on a Semantic Hierarchy of Spatial Representations. Technical Report AI90-120, 1, 1990. [45] V . Lesser, C. Ortiz, and M. Tambe. Distributed sensor nets: A multiagent perspective. Kluwer Academic Publishers, 2003. [46] Q. Li and D. Rus. Navigation Protocols in Sensor Networks. ACM Tansactions on Sensor Networks, 1(1):335, August 2005. [47] Yi Li, Lili Qiu, Yin Zhang, Ratul Mahajan, and Eric Rozner. Predictable performance op- timization for wireless networks. In SIGCOMM ’08: Proceedings of the ACM SIGCOMM 2008 conference on Data communication, pages 413426. ACM, 2008. [48] M. Lindhé and K. H. Johansson. Using robot mobility to exploit multipath fading - wire- less communications in networked robotics. IEEE Wireless Communications, 16(1):3037, February 2009. [49] M. Lindhé, K. H. Johansson, and A. Bicchi. An Experimental Study of Exploiting Multipath Fading for Robot Communications. In Robotics: Science and Systems, Atlanta, GA, USA, 2007. [50] Hengchang Liu, Jingyuan Li, Zhiheng Xie, Shan Lin, Kamin Whitehouse, John A. Stankovic, and David Siu. Automatic and robust breadcrumb system deployment for indoor reghter applications. In MobiSys ’10: Proceedings of the 8th international conference on Mobile systems, applications, and services, pages 2134, New York, NY , USA, 2010. ACM. 105 [51] J.R. Marden, G. Arslan, and J.S. Shamma. Connections between cooperative control and potential games illustrated on the consensus problem. In European Control Conference, 2007. [52] Maja J Matari´ c. Integration of Representation Into Goal-Driven Behavior-Based Robots. IEEE Transactions on Robotics and Automation, (3), June 1992. [53] Maxim Batalin and Gaurav S. Sukhatme. The Design and Analysis of an Efcient Local Algorithm for Coverage and Exploration Based on Sensor Network Deployment. IEEE Transactions on Robotics, 23(4):661675, Aug 2007. [54] Rafael Murrieta-Cid, Teja Muppirala, Alejandro Sarmiento, Sourabh Bhattacharya, and Seth Hutchinson. Surveillance Strategies for a Pursuer with Finite Sensor Range. Int. J. Rob. Res., 26(3):233253, 2007. [55] Eugene Neufeld and Wendy Myrvold. Practical Toroidality Testing. In SODA ’97: Pro- ceedings of the Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 574 580, Philadelphia, PA, USA, 1997. Society for Industrial and Applied Mathematics. [56] S. Neufeld and R. Nowakowski. A Game of Cops and Robbers Played on Products of Graphs. Discrete Math., 186(1-3), 1998. [57] Richard J. Nowakowski and Peter Winkler. Vertex-to-Vertex Pursuit in a Graph. Discrete Mathematics, 43(2-3):235239, 1983. [58] Songhwai Oh, Luca Schenato, Phoebus Chen, and Shankar Sastry. Tracking and Coordi- nation of Multiple Agents using Sensor Networks: System Design, Algorithms and Experi- ments. Proceedings of the IEEE, 95(1), Jan 2007. [59] Keith J. O'Hara, Victor Bigio, Eric Dodson, Arya Irani, Daniel Walker, and Tucker Balch. Physical Path Planning Using the Gnats. In IEEE International Conference on Robotics and Automation, 2005. [60] T. D. Parsons. Pursuit-Evasion in a Graph. Lecture Notes in Mathematics, 642:426441, 1978. [61] A. J. Paulraj, D. Gore, R. U. Nabar, and H. Bölcskei. An Overview of MIMO Communica- tions: A Key to Gigabit Wireless. In Proc. IEEE, pages 198218, 2004. [62] J. Pearce and M. Tambe. Quality guarantees on k-optimal solutions for distributed constraint optimization. In IJCAI, 2007. [63] U. Pferschy. Solution Methods and Computational Investigations for the Linear Bottleneck Assignment Problem. Computing, 59(3):237258, 1997. [64] Sameera Poduri and Gaurav S. Sukhatme. Constrained Coverage for Mobile Sensor Net- works. In In IEEE International Conference on Robotics and Automation, pages 165172, 2004. [65] Alain Quilliot. A Short Note About Pursuit Games Played on a Graph with a Given Genus. J. Comb. Theory, Ser. B, 38(1):8992, 1985. 106 [66] Theodore Rappaport. Wireless Communications: Principles and Practice. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2001. [67] Joshua Robinson, Ram Swaminathan, and Edward W. Knightly. Assessment of urban- scale wireless networks, with a small number of measurements. In In Proceedings of ACM Mobicom, 2008. [68] Stuart J. Russell and Peter Norvig. Artificial Intelligence: A Modern Approach. Pearson Education, 2003. [69] J. S. Seybold. Introduction to RF Propagation. Wiley - Interscience, 2005. [70] P. D. Seymour and Robin Thomas. Graph Searching and a Min-Max Theorem for Tree- Width. J. Comb. Theory Ser. B, 58(1):2233, 1993. [71] Ji rí Sgall. Solution of David Gale's Lion and Man Problem. Theor. Comput. Sci., 259(1- 2):663670, 2001. [72] J. Smith, M. Olivieri, A. Lackpour, and N. Hinnerschitz. RF-Mobility Gain: Concept, Measurement Campaign, and Exploitation. IEEE Wireless Communications, 16(1):3844, February 2009. [73] Ethan Stump, Ali Jadbabaie, and Vijay Kumar. Connectivity Management in Robot Net- works . In IEEE International Conference on Robotics and Automation (ICRA), "Pasedena, May 2008. [74] O. Tekdas and V . Isler. Robotic Routers. In Proc. IEEE Int. Conf. on Robotics and Automa- tion, 2008. [75] Ajay Tirumala, Feng Qin, Jon Dugan, Jim Ferguson, and Kevin Gibbs. Iperf. . [76] R. Vidal, O. Shakernia, H. J. Kim, D. H. Shim, and S. Sastry. Probabilistic Pursuit-Evasion Games: Theory, Implementation, and Experimental Evaluation. Robotics and Automation, IEEE Transactions on, 18(5):662669, 2002. [77] Xu Wang, Jr. Jose B. Cruz, Genshe Chen, Khanh Pham, and Erik Blasch. Formation Control in Multi-Player Pursuit Evasion Game with Superior Evaders. volume 6578, page 657811. SPIE, 2007. [78] Mo Wei, Genshe Chen, J.B. Cruz, L. Hayes, and Mou-Hsiung Chang. A Decentralized Approach to Pursuer-Evader Games with Multiple Superior Evaders. Intelligent Trans- portation Systems Conference, 2006. ITSC ’06. IEEE, pages 15861591, Sept. 2006. [79] Eric W. Weisstein. Grid graph. MathWorld A Wolfram Web Resource. http://mathworld.wolfram.com/GridGraph.html. [80] J. Yee and H. Pezeshki-Esfahani. Understanding wireless LAN performance trade-offs. CommsDesign.com, Nov 2002. 107 [81] Mong ying A. Hsieh, Vijay Kumar, and Camillo J. Taylor. Constructing Radio Signal Strength Maps with Multiple Robots. In ICRA, pages 41844189, 2004. [82] Florian Zeiger, Nikolaus Kraemer, and Klaus Schilling. Commanding Mobile Robots via Wireless Ad-hoc Networks - A Comparison of Four Ad-hoc Routing Protocol Implementa- tions. In ICRA, pages 590595, 2008. [83] W. Zhang, Z. Xing, G. Wang, and L. Wittenburg. An analysis and application of distributed constraint satisfaction and optimization algorithms in sensor networks. In AAMAS, 2003. 108
Abstract (if available)
Abstract
In this work, we explore the interplay between robotics and networks. Robots can benefit from an embedded network and also the network can benefit from the mobility of the robots.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Mobility-based topology control of robot networks
PDF
Reconfiguration in sensor networks
PDF
Realistic modeling of wireless communication graphs for the design of efficient sensor network routing protocols
PDF
Relative positioning, network formation, and routing in robotic wireless networks
PDF
Language abstractions and program analysis techniques to build reliable, efficient, and robust networked systems
PDF
Efficient and accurate in-network processing for monitoring applications in wireless sensor networks
PDF
Analysis and countermeasures of worm propagations and interactions in wired and wireless networks
PDF
Dynamic routing and rate control in stochastic network optimization: from theory to practice
PDF
Rate adaptation in networks of wireless sensors
PDF
Aging analysis in large-scale wireless sensor networks
PDF
Gradient-based active query routing in wireless sensor networks
PDF
On location support and one-hop data collection in wireless sensor networks
PDF
Joint routing and compression in sensor networks: from theory to practice
PDF
Time synchronization and scheduling in underwater wireless networks
PDF
Robust routing and energy management in wireless sensor networks
PDF
Robust and efficient geographic routing for wireless networks
PDF
Remote exploration with robotic networks: queue-aware autonomy and collaborative localization
PDF
Adaptive sampling with a robotic sensor network
PDF
Towards interference-aware protocol design in low-power wireless networks
PDF
Congestion control in multi-hop wireless networks
Asset Metadata
Creator
Vieira, Marcos Augusto Menezes
(author)
Core Title
The interplay between networks and robotics: networked robots and robotic routers
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Computer Science
Publication Date
08/13/2010
Defense Date
07/22/2010
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
OAI-PMH Harvest,robotics,wireless networks
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Govindan, Ramesh (
committee chair
), Krishnamachari, Bhaskar (
committee member
), Sukhatme, Gaurav S. (
committee member
)
Creator Email
marcos.augusto.vieira@gmail.com,mvieira@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-m3396
Unique identifier
UC1488715
Identifier
etd-Vieira-4032 (filename),usctheses-m40 (legacy collection record id),usctheses-c127-386028 (legacy record id),usctheses-m3396 (legacy record id)
Legacy Identifier
etd-Vieira-4032.pdf
Dmrecord
386028
Document Type
Dissertation
Rights
Vieira, Marcos Augusto Menezes
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Repository Name
Libraries, University of Southern California
Repository Location
Los Angeles, California
Repository Email
cisadmin@lib.usc.edu
Tags
robotics
wireless networks