+ All Categories
Home > Documents > Reconfiguration in Sensor Networks by Karthik Dantu A ...robotics.usc.edu/~kar/files/thesis.pdf3.18...

Reconfiguration in Sensor Networks by Karthik Dantu A ...robotics.usc.edu/~kar/files/thesis.pdf3.18...

Date post: 23-May-2018
Category:
Upload: haque
View: 215 times
Download: 1 times
Share this document with a friend
135
Reconfiguration in Sensor Networks by Karthik Dantu A Dissertation Presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (Computer Science) January 2010 Copyright 2010 Karthik Dantu
Transcript

Reconfiguration in Sensor Networks

by

Karthik Dantu

A Dissertation Presented to theFACULTY OF THE GRADUATE SCHOOL

UNIVERSITY OF SOUTHERN CALIFORNIAIn Partial Fulfillment of the

Requirements for the DegreeDOCTOR OF PHILOSOPHY

(Computer Science)

January 2010

Copyright 2010 Karthik Dantu

Table of Contents

List Of Tables v

List Of Figures vi

Dedication ix

Acknowledgements x

Abstract xii

Chapter 1: Introduction 11.1 Introduction and Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Chapter 2: Reconfiguring Data-fusion Based Services in Tiered Sensor Networks 72.1 Introduction and Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.1 Localization Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.2 Mathematical Techniques . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.3 Connectivity-based Localization . . . . . . . . . . . . . . . . . . . . . . 15

2.3 Localization Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3.1 Basic Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4 Hierarchical Overlapped Coordination . . . . . . . . . . . . . . . . . . . . . . . 172.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.5.1 Simulation Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5.2 Basic Algorithm Performance . . . . . . . . . . . . . . . . . . . . . . . 222.5.3 Boundary Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.5.4 Distributed Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . 262.5.5 Physical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.5.6 Two Node Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.6 Power-aware Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.6.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.6.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

ii

2.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Chapter 3: Robust Connectivity in Robot Networks 353.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.3 Problem Definition and Complexity . . . . . . . . . . . . . . . . . . . . . . . . 393.4 Algorithm: Connectivity to Biconnectivity . . . . . . . . . . . . . . . . . . . . . 41

3.4.1 Phase I: Computing Biconnected Components . . . . . . . . . . . . . . 413.4.2 Phase II: Movement Direction . . . . . . . . . . . . . . . . . . . . . . . 433.4.3 Phase III: Sending Motion Commands . . . . . . . . . . . . . . . . . . . 463.4.4 Optimality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.5 Bearing Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.5.1 Radio Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.5.2 Algorithm for bearing computation . . . . . . . . . . . . . . . . . . . . 533.5.3 Step Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.5.4 Radio as a Bearing Sensor . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.6 Simulation Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.6.1 Robustness to Sensing and Actuation Noise . . . . . . . . . . . . . . . . 613.6.2 Network Connectivity and Coverage . . . . . . . . . . . . . . . . . . . . 653.6.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.7 Experiments with Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.7.1 Robustness to Sensing and Actuation Noise . . . . . . . . . . . . . . . . 723.7.2 Network Connectivity and Coverage . . . . . . . . . . . . . . . . . . . . 77

3.8 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Chapter 4: Route Stability in Robot Networks 834.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.1.1 Motivating Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.2.1 Connectivity Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.2.2 Topology Control in Mobile Adhoc Networks . . . . . . . . . . . . . . . 854.2.3 Location Aware Routing . . . . . . . . . . . . . . . . . . . . . . . . . . 86

4.3 Stability Cues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864.3.1 Direction Cue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.3.2 Position Cue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

4.4 Modifying OLSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.4.1 Protocol Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.4.2 Routing Table Computation . . . . . . . . . . . . . . . . . . . . . . . . 92

4.5 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.5.1 Simulation Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.5.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.5.3 Effect of Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.5.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

4.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

iii

Chapter 5: Conclusions 102

Reference List 106

iv

List Of Tables

3.1 Rule set to determine command at articulation point . . . . . . . . . . . . . . . . 44

3.2 Average distance traveled (m) to achieve biconnectivity (average of five trials) . . 72

3.3 Bearing computed in two trials (best and worst) for the 4-robot case . . . . . . . 74

3.4 Two trials (best and worst) from five trials . . . . . . . . . . . . . . . . . . . . . 77

3.5 Average data throughput (five trials) . . . . . . . . . . . . . . . . . . . . . . . . 77

3.6 Packet delivery ratio(five trials) . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

3.7 Coverage of biconnectivity (five trials) . . . . . . . . . . . . . . . . . . . . . . . 78

v

List Of Figures

1.1 Examples of sensor networks in deployment . . . . . . . . . . . . . . . . . . . . 2

1.2 Contributions of this thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1 Function dependence table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2 Function dependence table rearranged . . . . . . . . . . . . . . . . . . . . . . . 19

2.3 Partitioning in sensor networks. Each sensor picks the master that is closest toit. We can get two different sets of partitions by assigning the equidistant nodes(shown in dotted lines) to one of the masters respectively . . . . . . . . . . . . . 20

2.4 Decrease in localization error with increase in network connectivity (as measuredby average degree of the network) . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.5 Localization error for different number of iterations . . . . . . . . . . . . . . . . 23

2.6 Boundary effects as seen for one trial (err ≥ R/3) . . . . . . . . . . . . . . . . . 24

2.7 Average degree of poorly localized nodes (err ≥ threshold) vs. average degree ofthe network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.8 Percentage error contributed by each node (network average degree 6.5) . . . . 26

2.9 Decrease in error with iteration in the distributed formulation (average degree is 8) 27

2.10 Increase in average error with number of masters in distributed formulation . . . 28

2.11 Decrease of error with iteration in experiment . . . . . . . . . . . . . . . . . . . 28

2.12 Packet reception rate w.r.t Distance (in ft) . . . . . . . . . . . . . . . . . . . . . 30

3.1 A 10 robot network (left) showing the biconnected components and articulationpoints (right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

vi

3.2 Neighbors in different quadrants (left) and same quadrant (right) . . . . . . . . . 43

3.3 Applying rule set in Table 3.4.2 to an example graph in Fig. 3.1 . . . . . . . . . . 45

3.4 Robot E is an articulation point belonging to more than 2 biconnected components. 46

3.5 Example command(left), infeasibility when node C stops because C−F and C−E are likely to disconnect (middle) and node A moves to make the connection(right) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.6 Pattern of signal strength sampling for bearing computation. . . . . . . . . . . . 54

3.7 Signal strength map in an area of 6 m x 10 m (Zigbee) . . . . . . . . . . . . . . . 56

3.8 Decrease in bearing error with increase in step distance (Zigbee) . . . . . . . . . 57

3.9 Error in computed relative bearing from RSSI . . . . . . . . . . . . . . . . . . . 57

3.10 Sample trial on a 16-node network . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.11 Effect of bearing error on algorithm success . . . . . . . . . . . . . . . . . . . . 60

3.12 Effect of error in robot odometry on algorithm success . . . . . . . . . . . . . . 60

3.13 Effect of turn angle error on algorithm success . . . . . . . . . . . . . . . . . . . 61

3.14 Increase in total distance traveled with increase in bearing error . . . . . . . . . . 62

3.15 Increase in distance traveled with increase in odometry error . . . . . . . . . . . 62

3.16 Increase in distance traveled with increase in turn angle error . . . . . . . . . . . 63

3.17 Average path lengths for networks of different sizes (Error=20% odometry, 20◦bearing,10◦turn angle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

3.18 Average number of paths between two nodes (Error=20% odometry, 20◦bearing,10◦turn angle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.19 Average number of vertex-unique paths (Error=20% odometry, 20◦bearing, 10◦turnangle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.20 Area of the convex hull of the network (Error=20% odometry, 20◦bearing, 10◦turnangle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

vii

3.21 Area of the convex hull of the network that is in the range of two or more robots(as percentage of total area) (Error=20% odometry, 20◦bearing, 10◦turn angle) . . 69

3.22 An example of a 9-robot network that causes failure (left) and resultant networkafter the algorithm terminates (right) . . . . . . . . . . . . . . . . . . . . . . . . 70

3.23 iRobot Create fitted with raised antenna . . . . . . . . . . . . . . . . . . . . . . 71

3.24 Initial four robot network (top) and final biconnected network (bottom) . . . . . . 73

3.25 Initial four robot network (left) with actual angles and final biconnected network(right) with expected and actual behavior . . . . . . . . . . . . . . . . . . . . . . 74

3.26 Initial five robot network (top) and final biconnected network (bottom) . . . . . . 75

3.27 Initial configuration (left) and a trial illustrating biconnectivity with five robots inone move (right) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

3.28 Trial with five robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.1 Sample network illustrating route instability . . . . . . . . . . . . . . . . . . . . 84

4.2 Stability metric for direction cue . . . . . . . . . . . . . . . . . . . . . . . . . . 87

4.3 Stability values derived from the direction cue in sample robot network . . . . . 88

4.4 Stability values derived from location and direction cue in sample network . . . . 89

4.5 Hello message augmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

4.6 Effect of density and speed of movement on route stability (direction cue only) . 95

4.7 Effect of density and speed of movement on route stability (direction and locationcues) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

4.8 Effect of error on route stability (Number of nodes=50, max speed=0.5 m/s) . . . 97

4.9 Effect of error (direction cue only): error added is zero mean Gaussian noise withstandard deviation of 10% percentage of the velocity components in each of thex and y directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

4.10 Effect of error (direction and location cue): error added is zero mean Gaussiannoise with standard deviation of 10% percentage of the velocity components ineach of the x and y directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

viii

Dedication

To my parents, who have supported me in every endeavor I have chosen and supported me to the

fullest. Thank you for being my constant source of encouragement, cheering for me and having

limitless faith in me.

ix

Acknowledgements

First and foremost, I would like to thank Gaurav. He has been everything from a friend, confi-

dante, colleague, advisor, mentor and a lot more. Over the course of my program, I have come

to the realization that I have the best advisor I could have ever dreamed of. Irrespective of what

career path I will end up in, I will cherish my time working under him and hope to emulate his

approach to advising.

I have also been influenced by Ramesh and Bhaskar - two faculty members that I have had

close interaction with. Not only have I taken classes numerous classes with them but they were

kind enough to be on my thesis committee. I have admired Ramesh’s discipline and Bhaskar’s

enthusiasm and have tried to emulate them in my life. Bill Kaiser is another person whose positive

energy and enthusiasm is very infectious and inspired me in research. Thanks Bill for all the help

and support.

I have been lucky to have great friends throughout my life at USC. Ram has been a friend

and partner in crime in almost everything I have done in much of my undergraduate and graduate

life. Rishi, Shyam and Ifti joined alongwith me and have been my inner circle of friends over the

years. MV came in a year later and added a unique flavor to that circle. Salim and Nikhil started

out as roommates at Citipark but soon became part of that circle. The big group of friends during

that time with KK, Aparna, Ramya and Shweta made life great fun. Animesh and I first met via

x

AIS but became great friends. Gudda both in Citipark and 1024 brought his delhi-ness into the

mix. Mansi and Hardik are people I got to work with at the lab but they also became great friends.

Krishna, Pradeep, Jon, Aditya, Sabya, Sunil, Maga and Sudhir have been roommates over the last

couple of years at 1182 which has been a very different but equally enjoyable experience. Sri who

was at RESL for a significant part of my graduate life but lived a much more colorful life than

I ever did. The lab folk - Jon Kelly, Sameera, Jon Binney, JD, Arvind, Megha, Hordur, Harsh,

Dave, Dylan, Emily and others that have shared the lab and borne my incessant mumbling about

football and politics amongst others.

the years I have at USC without being part of the various organizations I had a chance to be

in. The Association of Indian Students in which I held various positions and spent a fair amount

of time in my earlier years working. The USC badminton club through which I participated in the

inter-collegiate badminton tournaments. The badminton club meetings twice a week that helped

me take my mind off the stress of grad school. The Trojan cricket club that prominently featured

every friday evening of every semester in the latter parts of my graduate life. It is amazing how

much energy cricket brings out of people in the club and I will always enjoy my time here. Trojan

football that got me into the sport that I have come to enjoy so dearly. Over the last few years, I

have volunteered with BeTheCause and have met many wonderful people through this endeavor.

Kristeen, Sukh and the other BeTheCause folks - keep up the good work.

Finally, I will conclude this section by saying that I have interacted with, learning from and

enjoyed the company of many people in the various facets of my USC life. I would like to thank

one and all for enriching my graduate life experience.

xi

Abstract

To be practical, sensor networks need to adapt to changes in their environment. This thesis

explores reconfiguration in sensor networks to endow them with greater adaptability. We study

functional reconfiguration in static networks, and spatial reconfiguration in networks with limited

mobility and networks whose constituent nodes are highly mobile.

In static sensor networks, reconfiguration can be thought of as the ability to dynamically

reconfigure nodes in the network to perform different functions over time. We study a tiered

sensor network where the roles of microserver and sensor are dynamically assigned. We propose

a framework for redesigning services by partitioning the workload in a distributed fashion among

the microservers. We apply this distribution formulation to connectivity-based localization and

show that it converges to within 10% of the centralized solution in ten iterations. We also show a

similar formulation for flow-based routing.

In mobile sensor networks, one potential means of reconfiguration is the ability of the net-

work to reposition its nodes using controlled mobility in service of a particular objective. We

address the problem of improving connectivity in a robot network by proposing an algorithm for

autonomous reconfiguration that causes an initially connected network to be transformed into a

biconnected network. First, we show that the robot network biconnectivity problem is NP-hard.

xii

We propose a heuristic that uses bearing-only measurements of node neighbors to achieve bi-

connectivity. Simulations and experiments suggest that this algorithm performs well even when

the bearing measurements are coarse (errors upto 30 degrees have little impact on the outcome).

As a practical matter, we describe a novel technique to obtain such bearing measurements from

commodity radios on simple robots. The biconnectivity algorithm requires a stable connected

network. However, experiments reveal that the routing protocol (in our case OLSR) does not

necessarily produce routes that are persistant in time. We conjecture that providing location

and direction cues improves route stability in robot networks. Test results bear this out - route

switches decrease by upto 20% when the routing protocol is given position and directional cues.

xiii

Chapter 1

Introduction

1.1 Introduction and Motivation

Technological developments in computing, networking, mobility and sensing have enabled the

development of networks of embedded sensing systems. Such sensor networks find applications

in a wide variety of fields e.g.,, environment monitoring [61, 105, 6, 98], safety and surveil-

lance [40, 90], personal health monitoring [103], structural health monitoring [107]etc.

The last few years have seen a wealth of research on designing sensor networks. Various

algorithms have been proposed for essential services like localization [94, 83, 68] routing [46],

time synchronization [25, 32, 60], data aggregation [70, 33, 28] and formation control [69, 5, 65].

Numerous platforms have been built to instantiate this technology in real life [74, 63, 20, 23].

There have been a few software architectures proposed for sensor networks [42, 57, 37, 47, 24,

34, 71]. There have also been a number of field experiments to illustrate the utility of such

networks in practice [2, 107, 61, 40, 6, 98, 12, 91, 110, 105, 45]. Some of them are shown in

Fig. 1.1.

1

(a) A volcano monitoring sensor network (b) Marine monitoring using a combination of surface waterand underwater vehicles

(c) Network of smart phones (d) Team of unmanned aerial vehicles

Figure 1.1: Examples of sensor networks in deployment

1.2 Challenges

Sensor networks have their own set of unique challenges. Energy is a primary challenge in most

scenarios [92, 26]. Since these networks are deployed in hazardous or unfamiliar terrain, their

nodes are powered by batteries or naturally available sources like solar power. This limits the

energy available to the nodes. If these networks are to be deployed for extended periods of time,

they need to be very efficient in their usage of energy. It would also greatly benefit the network if

the individual nodes in the network balanced their usage. It is also an accepted fact that movement

costs an order of magnitude more energy than communication and communication costs an order

2

of magnitude more energy than computation [76]. Hence, generally it is a good choice to tradeoff

computation for communication and communication for movement.

Resource scarcity is another challenge [92]. Each individual node is not expected to have

a lot of computing or storage. The strength of sensor networks comes from the numbers but

individually they are very resource constrained. Heavy computation or data storage is usually

out of the realm of such networks. It is important for computation to be distributed in such

networks [76].

The adhoc nature of deployment of such networks requires that the individual nodes be able

to configure themselves without much infrastructural support. This challenge manifests itself at

various levels. Basic services like routing need to be able to configure themselves post deploy-

ment. Computation needs to be moved around depending on where events of interest happen in

the network.

Uncertainity is inherent in the system. In order to deploy systems in large numbers, each

individual node usually comprises of cheap sensors and actuators. It is not possible to achieve

very accurate sensing using a single sensor. Similarly, accurate movement is not possible. The

algorithms developed should be able to cope with inaccurate sensor readings and coarse actua-

tion [97].

1.3 Contributions

Taking into consideration the adhoc nature of deployments, unpredictable events and dynamic

conditions it is important for sensor networks to be able to constantly adapt to the current con-

ditions. All nodes in the network need to continuously evaluate the tasks they need to do to best

3

support the end goal. This thesis explores reconfiguration as a means of adaptability of such

networks. Our main axis of exploration is increasing mobility.

Figure 1.2: Contributions of this thesis

Shown in Fig. 1.2 is a visualization of the contributions of this thesis. The contributions are

listed along an axis of increased mobility in the network.

Experience has shown [37, 98] that most static sensor network deployments today are tiered.

In such networks, one way of achieving maximum lifetime is by using role assignment [29] often

to re-evaluate the state of the nodes in the network and reassigning functionality. However, it

is also crucial for essential network services to be able to reconfigure themselves similarly. We

present a framework that can reconfigure the network in a semi-centralized fashion. It is ide-

ally suited for tiered sensor networks where microservers have additional computing capabilities.

Further, we adapt two essential services - localization and routing - to demonstrate the utility of

this framework. Simulation and experimentation suggest that the framework comes close to the

centralized solution - it is within 10% accuracy in ten iterations.

In mobile networks, mobility can be used to reconfigure the network in interesting ways.

As mentioned earlier, mobility is energy expensive and needs to be used sparingly. However,

mobility gives the network the power to perform functions it previously could not. By moving

4

nodes closer to each other, the network connectivity improves thereby providing a reliable channel

for data collection.

We study the use of mobility to improve network connectivity among the nodes in the net-

work. Specifically, we pose the following question: given a connected network, can we use

mobility to reconfigure it to become a biconnected network with the minimum sum total distance

moved? We show that this problem is NP-hard. We present a distributed heuristic that achieves

biconnectivity with the minimum number of moves. Our algorithm has some desirable properties:

• It uses local information only

• It moves one node at a time so that the network connectivity improves monotonically

The algorithm uses relative bearing information as input. This input is obtained from com-

modity radios that are available on most robots. We establish experimentally that our algorithm

is robust to error in input and its performance degrades gracefully with increasing error.

It has been our observation that connectivity is not enough for robots in a network to com-

municate. Due to the dynamic nature of a robot network, the routing protocol is often confused

by the changing conditions. This results in frequent route changes. We conjecture that presenting

the routing algorithm with cues about the direction of travel of the robot and its position might

help alleviate this problem. We instrument a popular routing protocol (OLSR) with such cues and

show in simulation that there is 20% less route switching when both these cues are provided.

5

1.4 Outline

The thesis is organized as indicated in Fig. 1.2. We describe reconfiguration of essential services

in tiered sensor networks in Chapter 2. Biconnectivity in robot networks is studied in Chapter 3.

Route stability in robot networks is studied in Chapter 4. We conclude the thesis in Chapter 5.

6

Chapter 2

Reconfiguring Data-fusion Based Services in Tiered Sensor Networks

2.1 Introduction and Motivation

Tiered sensor network architectures are a natural platform on which to build compute-intensive

systems where the computational load is resident on the higher capability master nodes, rather

than the simpler impoverished sensor nodes. It is possible to design computationally intensive

algorithms (previously considered infeasible in sensor networks) such that the computation is

performed at the master nodes.

It has been noted that most current deployments are in a tiered setup like the Great Duck

Island [98], James Reserve [12] the NAMOS deployment [96, 91], target surveilence [2] etc.-

mote-class nodes that have minimal computation and communication capabilities with limited

energy which usually sense the environment, transmit data and go to sleep and the second tier or

master class nodes which are sparser in number (one each for about 10-100 motes) and are much

bigger in both computation and communcation capabilities. These master nodes are responsible

for 10-100 motes and manage them.

7

Tiered networks have several advantages. First, they can be easier to program and debug [37].

This is a resultant of moving the application complexity to the masters which are fundamentally

more capable and are more easily programmable/debug-friendly. Second, they constrain network

diameter to minimize wireless link loss [111]; there is evidence that they lead to longer lifetimes

when the master nodes are carefully placed [108]. Third, and most importantly for us, tiered

sensor networks are not limited by the processing available at each mote-class device; the master

nodes can compute on behalf of the impoverished nodes.

Current sensor network deployments are not truly random. In the early days of sensor net-

working, it was envisioned that sensor networks might be deployed by dropping motes from

aeroplanes or by sprinkling smart dust in other random fashions [46], current sensor network

deployments are mostly hand-placed. This suggests that coarse location information is available

about each node. This information could be used to accurately localize the nodes without having

to perform the localization from scratch.

Given this background, we present ATLAS, a tiered load-balancing architecture for sensor

networks. We primarily study localization as an example service. We also present a formulation

for routing using the framework.

Our algorithm is a mathematical optimization-based algorithm to perform localization. The

key goal of our algorithm is to tradeoff communication between the motes for computation at the

masters. We do this for connectivity-based localization without the use of specialized hardware

either for ranging [68], beacons [10], or a super node [93, 94] which assists the nodes in the

network for localization. The only input to our system is coarse location information. Our results

are accurate; and techniques from distributed optimization are available to divide the problem

into equal pieces suitable for computation at the master-level nodes. Our system thus trades off

8

computation to achieve localization accuracy with simple inputs (minimal communication) from

the motes. Aside from this, our framework allows incorporation of input data from any of the

above-mentioned systems to improve accuracy.

In the next section, we summarize related work. In section 2.3, we formulate the localization

problem and describe our generic localization framework. Section. 2.4 describes Hierarchical

Overlapped Coordination, a framework to distribute the computation load. Section. 2.5 describes

our indepth simulation, experimental analysis and findings. Section. 2.6 presents the formulation

for the routing framework. We conclude in Section. 2.7 with a summary of our contributions and

future work.

2.2 Related Work

Localization in sensor networks has received a lot of attention. There are various reasons for this.

Traditional positioning like GPS cannot be used either for economic or environmental conditions.

It might be too expensive to afford a GPS receiver on every sensor node. Such sensor networks

might be deployed indoors or in dense forests where a GPS signal might not reach. Given these

two considerations, many researchers have attempted to solve the problem of locating sensors in

space for various scenarios. There are two broad categories of localization algorithms

• Coarse localization using simple input like connectivity information. Such algorithms usu-

ally yield rough location estimates but need minimal input (and hence consume less energy

in retrieving that info) and less computational power.

• Fine-grained localization with specialized data like range information for more accurate

location information.

9

Furthermore, some algorithms require that a subset of the nodes know their position by GPS

or some other mechanism. Such nodes are called Anchors. The remaining nodes use the data from

anchors to localize themselves relative to the anchors. We call such algorithms to be Infrastruc-

ture Based. Algorithms that have no requirement of such infrastructure are called Infrastructure-

free algorithms.

Below, we give a chronological overview of prior research in localization. Before we start,

we would like to point out that there are a few surveys on localization that classify the existing

body of research along different axes [41, 56, 54, 72].

2.2.1 Localization Systems

One of the first research initiatives into localization mechanisms was by [104] - the Active Badge

location system. The idea was to form a novel system for location of people in an office environ-

ment. [104] proposed that all the members of staff in a building wear badges that transmit signals

providing information about their location. These signals were infrared, could operate within

6m range and be reflected by partitions etc. but could not penetrate walls. They also designed a

network of receivers that would then tap back into the backbone ethernet system and finally con-

nect to the location server. This system was centralized, and could answer queries regarding the

location of a particular person, his history of traversal in the last hour, his neighbors, generating

notifications etc.

An improvement over the Active Badge system was the Bat system from AT&T [38]. The

improvement from the Active Badge system was that the instead of IR transceivers, they used

ultrasound. This allowed them to use utlrasound time-of-flight ranging technique and trilateration

to provide more accurate physical positioning than the Active Badges. The system was still

10

central, needed a large fixed-sensor ceiling infrastructure and was sensitive to the positioning of

these fixed sensors. The Bat system could locate the active bats within 9cm about 95% of the

time.

The Cricket location support system [77] improved on the Bat system by making the compu-

tation decentralized. The ceiling infrastructure was eliminated and the computation was shifted

to the individual nodes .i.e. cricket system allowed for everyone to range each other and do their

own lateration. The system still used RF and ultrasound time of flight to range. The cricket

system has been a popular platform for studying various algorithms for localization.

RADAR ([4]) was an initiative by the Microsoft Research Group in tackling the problem of

localization in a building using IEEE 802.11 technology. Given that the buildings have a network

of wireless access points/basestations, RADAR measures the received signal strength (RSSI) and

the signal to noise ratio of signals that the wireless devices send. This is then used to trilaterate

the wireless device using a model for radio signal strength decay. The significant difference

in RADAR is that it attempts to use the existing radio as a ranging device and eliminates the

need for an additional sensor like an ultrasonic ranger. It also decreases the load significantly

by working on radio packets which are exchanged to send/receive data as opposed to having

an explicit localization phase. Since radio is inherently very imprecise as a ranging device, the

localization accuracy is not comparable to the ultrasound ranging. RADAR achieves about 3-4 m

accuracy 50% of the time. Also, extending this algorithm to 3-D is considered fairly nontrivial in

buildings.

The AHLoS system [83] proposed a system similar to the cricket location support system. It

uses time of arrival (ToA) ranging by measuring the time difference between two simultaneously

transmitted radio and ultrasound signals at the receiver. The ranging methodology is thoroughly

11

characterized. This work claims that such ranging can provide an accuracy of 2 cm for node seper-

ations under 3m. Given this ranging scheme, the paper proposes three multilateration schemes

that together help localize nodes that are deemed participating nodes. The basic scheme is Atomic

Multilateration wherein nodes with three or more beacon nodes within range can localize them-

selves. Iterative Multilateration uses nodes that were localized during the atomic multilateration

as beacon nodes to localize more nodes. The main novelty of this paper was the idea of Collab-

orative Multilateration where the remaining nodes are localized by solving a minimization that

minimizes the ranging distance over all feasible locations of the unknown nodes. The authors

study at great detail placement of nodes and beacons to obtain good location estimates.

Another interesting piece of work in localization is [62]. The work proposes doing accurate

ranging without using additional sensors like ultrasound but just using the radio (called Radio In-

terferometric Positioning System - RIPS). Assuming that the nodes can synchronize themselves in

time, two nodes can simultaneously transmit to a node at slightly different frequencies.The phase

offset of the combined signal depends on many factors, including the time when the transmissions

were started and the distance between the sender/receiver pair. Using such transmissions, one can

write down a linear combination of distances that can finally be solved to obtain the ranges. The

authors go into great detail in designing the system including its time synchronization, tuning of

the radio chip for most accurate frequency changes and estimation at the receiver’s end. Using

this as a range primitive, the authors propose a centralized localization algorithm to solve the

localization problem.

We have seen both infrastructure-based and infrastructureless schemes for localization. There

are studies wherein one super node is used to localize a whole network of motes. [93] proposes

Spotlight, a localization scheme where nodes can be localized within 20 cm of actual location

12

in a deployed open area of 2500 m2. None of the sensor nodes need special raning hardware.

Localization is done by one external system that costs less than $1000. The system generates

a series of controlled events (like switching on a laser) at different times. The nodes are time

synchronized. Depending on the time of event detection over the series of events, nodes are

localized. The study goes on to analyze different scan functions to generate events.

One of the disadvantages of the above system is the need for time synchronization of all the

nodes and the event generator. [94] proposes Stardust, a passive localization system for sensor

networks. In this system, every node is equipped with a passive CCR and optical filters that relect

the incoming strobe light in the same direction as the incidence. Nodes are deployed in a given

area. An aerial vehicle travels through the area of deployment with a strobe light and takes images

at very quick succession (msecond resolution) with the strobe light going on and off. Given these

images, the authors use a probabilistic label relaxation method either using connectivity or time

constraints to assign each detected object to the corresponding node.

2.2.2 Mathematical Techniques

Most of the above solutions were systems that were built by various researchers to solve the prob-

lem of localization. Given that some form of communication between nodes is available and some

ranging infrastructure, numerous algorithms have been proposed applying various mathematical

techniques to uniquely localize the nodes. Some of them are described below.

[22] posed localization as a convex estimation problem. This work introduced the idea of

using connectivity and ranging as constraints in an optimization formulation. They formulate the

problem as a centralized second order conic problem and solve it for connectivity, ranging and

13

angular constraints. They assume that the network has anchors who already know their position

and broadcast them periodically. It also assumes that all information is available centrally.

[7] define localization as a semidefinite programming problem. They study the same setup as

above - localization of a sensor network with few anchor nodes and every sensor node equipped

with the capability of ranging with its neighbors. Given this setup, they formulate the ranges

as constraints and relax them to form semidefinite constraints. They suggest various algorithms

like maximum likelihood estimation to reduce noisy measurements. Lastly, they propose a local

gradient search method to further refine the results. They propose a distributed version of the

SDP relaxation algorithm. This is probably the most similar to our work. However, they perform

ranging between nodes to get more accurate position estimates. There is also no experimental

evaluation using real data.

There have been other algorithms proposed that frame the localization problem as a global

optimization problem. [89] frames localization as a multidimensional scaling (MDS) problem.

One of the known drawbacks of multihop methods like [83] are that ranging error gets pro-

pogated with the number of hops. This has been analyzed in works like [82]. [68] proposes an

algorithm to minimize the multihop error spread by the use of Robust Quadrilaterals. The graph

realization problem (a generalization of the localization problem) has been shown to be strongly

NP-hard [84]. Knowing the edge lengths (ranges) also does not guarentee a unique solution.

Rigid graphs can have discontinuous deformations like flip ambiguities and flex ambiguities. The

authors propose an atomic step of forming a robust quadrilateral wherein the four nodes localize

w.r.t. each other. This is resistent to the amguities described above. In the second phase, such

clusters are combined to form locations in a uniform coordinate system for the sensor network.

The authors then analyze the algorithm by providing a proof of robustness and its complexity.

14

Experimental study was done on cricket nodes [77]. They show that in experiments, the local-

ization error is marginally higher than the single hop range measurement error showing that the

multihop multilateration introduces minimal error.

[15] attempts to use bearing information alongwith ranging to obtain better accuracy in the

location estimate. The authors take a least mean square formulation of the localization problem

and extend it to incorporate bearing information. They show by simulation that this significantly

decreases the localization error. The main reason can be attributed to the fact that all you need

to localize one unknown node is to have its range and bearing information w.r.t. one anchor as

opposed to needing three in the range only case.

2.2.3 Connectivity-based Localization

A number of studies have attempted to exploit the connectivity constraints to localize the sensor

network. The biggest advantage of doing so is that it does not require any special hardware on

the nodes, thereby bringing their cost down. This however makes it very hard to localize them

accurately due to the limited information available at hand.

[10] was one of the first studies on connectivity-based localization. This paper proposes a

centroid-based algorithm with the assumption that the network has a limited number of anchors

whose location is known. A detailed study is done to evaluate the number of anchors required,

effect of their placement etc.

[39] proposed the APIT algorithm. The assumptions are similar to all the above studies - there

are a limited number of anchors in the network. They then propose the APIT algorithm which

evaluates whether or not the current node is inside a triangle formed by choosing three anchors.

The current node then iterates through different sets of three anchors and checks if it is inside

15

the triangle. Every such iteration attempts to reduce the area within which it could be present.

Effects of number of anchors, node density, anchor node range etc. is studied to some detail.

Our algorithm falls under this category of connectivity-based localization. We also do not

have any anchors that have other methods (like GPS) of knowing their location. Unlike the other

algorithms previously proposed for connectivity-based localization, we provide a much more

compute-intensive algorithm and tradeoff the computation for communication between the mote-

class nodes. As described earlier, this is possible because we leverage the additional power of the

master level nodes. The next section presents our algorithm.

2.3 Localization Algorithm

2.3.1 Basic Formulation

The localization problem is formulated as a mathematical optimization problem. Let us assume

that the neighborhood-lists of all nodes are available at a central location. Let the neighborhood

list of node i be A(i). Let N be the set of all nodes in the network. Further, let (xi,yi) be the

location of node i. If we have the neighborhood-lists of all nodes at a central location we can

formulate the following constraints -

√(xi− x j)2 +(yi− y j)2 ≤ R∀(i, j) ∈ Nand j ∈ A(i)√

(xk− x j)2 +(yk− y j)2 > R∀(k, j) ∈ Nand j /∈ A(k)

16

Let us assume that the rough initial estimates of the nodes are given by the vectors (XPRE ,Y PRE).

We can formulate an optimization problem of the form

min(xprei − xi)2 +(ypre

i − yi)2∀(i, j) ∈ N

given√(xi− x j)2 +(yi− y j)2 ≤ R∀ j ∈ A(i)√

(xk− x j)2 +(yk− y j)2 > R∀ j /∈ A(k)

However, this has two disadvantages:

• The problem is centralized since it needs all information is needed to be present at one node

• The problem is overconstrained - there are N2 constraints and this makes the problem very

large

Both these problems are addressed in the following section.

2.4 Hierarchical Overlapped Coordination

This section describes Hierarchical Overlapped Coordination (HOC) which is one of the paradigms

used to distribute a centralized optimization problem. This form of distribution has been previ-

ously studied in the context of parallel computing. We adopt it here, with a minimal description

of how it works reproducing a condensed version of the treatment in [67]. Consider the following

optimization problem -

min f (X)

17

subject to h(X) = 0 and

g(X)≤ 0

where h and g are matrices and X ∈ Rn.

This problem can easily be solved in a centralized manner by collecting all the relevant informa-

tion at a single point.

Represent the above equations using a Functional Dependence Table (FDT). In the FDT, the

(i, j)-th entry of this table is one if the i-th constraint depends on the j-th variable, and zero

otherwise. The table should look like Fig. 2.1.

Figure 2.1: Function dependence table

Efficient heuristic techniques exist [66] to partition the graph and thereby rearrange this FDT

into a set of pα decoupled blocks. This is shown in Fig. 2.2. Each block corresponds to a sub-

problem.

The problem (denoted α) can be rewritten as

min fα0(Xα0)+∑pα

i=1 fαi(Xα0 ,Xαi)

subject to h(Xα0 ,Xαi) = 0 i = 1,· · · ,pα

18

Figure 2.2: Function dependence table rearranged

and g(Xα0 ,Xαi)≤ 0 i = 1,· · · ,pα

Xα0 is the vector of linking variables. If we fixed the linking variables Xα0 = dα , dα ∈ Rnα , then

we have pα problems of the form -

For each i = 1,· · · ,pα ,

minxαifαi(dα ,xαi)

subject to

hαi(dα ,xαi) = 0,

gαi(dα ,xαi)≤ 0,

Assume that we could perform another graph partitioning in a similar fashion and call that

problem β .

The HOC algorithm [67] is as follows:

1. Fix linking variables Xα0 , and solve problem α by solving pα independent sub-problems

given above

19

2. Fix linking variables Xβ0 to their values as determined in step 1 and solve problem β by

solving pβ independent problems.

3. Goto Step I with the fixed values of α-linking variables determined in Step II

4. Repeat until convergence is achieved

In the context of parallel computing, a hypergraph mapping has been proposed to partition

the graph into numerous partitions [66]. However, one of the advantages of using this framework

in the context of sensor networks is that we already have a graph based on connectivity. The

partitions could be constructed by a simple flood initiated by the master nodes. Each mote picks

as its master, the master node that is closest to it (in terms of number of hops). Ties could be

resolved arbitrarily. An example network and the partitioning is shown in Fig. 2.3. Thus, a

protocol could be designed to partition the graph suitably and easily. We can resolve ties in two

possible ways to create the two different partitions (α and β ) that are needed in the optimization.

Figure 2.3: Partitioning in sensor networks. Each sensor picks the master that is closest to it. Wecan get two different sets of partitions by assigning the equidistant nodes (shown in dotted lines)to one of the masters respectively

The HOC algorithm mitigates both the disadvantages described at the end of the previous

section. The algorithm can be distributed evenly among N master-level nodes uniformly. Each

20

master-node gets the list of neighors that are closest to it thereby avoiding collecting informa-

tion from all nodes and thus overconsraining the problem. We evaluate our algorithm in both

simulation and by performing real experiments with telosb motes in the next section.

2.5 Results

We have comprehensively evaluated our localization algorithm for dependency on various pa-

rameters. The results are presented in the following subsections. The next subsection demon-

strates the efficacy of the optimization formulation in a centralized manner and its dependency

on boundary conditions. We then describe the results for distributed formulation of the problem

and compares it with the dependency on boundary conditions. We then describe the results for

distributed formulation of the problem and compare it with the centralized setup. Finally, we

evaluate the feasibility of our study by performing physical experiments with motes. We also

propose a simple technique to estimate the radius of communication that is needed as input for

the algorithm.

2.5.1 Simulation Setup

Our simulation setup is as follows. We assume the radius of communication (R) is 20 units.

All simulations deploy nodes in an square area of side 100 units. Number of nodes deployed is

varied (90 to 120 in steps of 10) to simulate networks of different densities (average degree of

each node ranging from 4.5 to 7). The error simulated is additive white Gaussian noise (AWGN)

and is a percentage of the side of the area deployed. All results are averaged over a hundred trials.

Completed results have been run for fifteen iterations of our algorithm.

21

3 3.5 4 4.5 5 5.5 6 6.5 70

2

4

6

8

10

12

Average Degree

Ave

rage

err

or in

dis

tanc

e

Error vs. Degree

Figure 2.4: Decrease in localization error with increase in network connectivity (as measured byaverage degree of the network)

2.5.2 Basic Algorithm Performance

Fig. 2.4 shows the efficacy of our algorithm. The average error in the initial position is about

12 units with a standard deviation of about 14 units. Results shown are after 15 iterations of

the algorithm for different average degrees. The average error is reduced to about 4 units (one

third of the initial error) with a deviation of 4 unit s. This indicates that both the average error

and its spread are significantly reduced by our algorithm. The other point to note is that the

error reduction happens at fairly low degree (average degree of 5-6). This is unlike most other

localization algorithms that require a higher average like [68], [83] an average degree of around

fifteen is needed. This is an extreme requirement to place on the network in order to implement

one of the services (localization). If coarse localization is acceptable, our algorithm is a much

better fit. The next figure (Fig. 2.5) shows the incremental improvement in accuracy with iteration

22

4 4.5 5 5.5 6 6.5 7 7.5 83

3.5

4

4.5

5

5.5

6

6.5

7

7.5

8

Average Degree

Err

or in

dis

tanc

e

Error vs. Degree

Iteration 2Iteration 5Iteration 8Iteration 12Iteration 15

Figure 2.5: Localization error for different number of iterations

of our algorithm. We have plotted the average error after a certain number of iterations for various

average degrees in Fig. 2.5. From the graph, a few trends become evident. Firstly, the biggest

gains are achieved in the first few trials. This is great for a computation-accuracy tradeoff either

for energy or time reasons. Secondly, the error converges quickly to close to the final error (about

half a unit by about iteration 5). We took a closer look at the residual error, and it seems to

be coming for nodes in the boundaries. The next subsection tries to understand these boundary

effects better. Having established the merit of our algorithm, we proceed to study the cause for

the remainder error.

2.5.3 Boundary Effects

Fig. 2.6 plots the nodes that have a greater than (R/3) localization error. A first look at the graph

shows that there are eight out of the total hundred nodes that have error greater than R/3. Also,

23

Figure 2.6: Boundary effects as seen for one trial (err ≥ R/3)

all these nodes are at the edge of the network. The reason for this is easily understood by under-

standing the mechanism of how our algorithm works. Each neighbor acts as an attractor and pulls

the current node towards it (the less than equal to R constraint). Ideally, the neighboring nodes

are distributed in all directions uniformly, and the localization is most accurate. However, nodes

near the edge of the network (“boundary nodes”) do not have nodes in one direction. This leads

to greater error in such nodes. Note that this is a phenomenon experienced by most localization

algorithms including those that perform multilateration. Our illustration further captures this phe-

nomenon by graphing the average degree of such poorly localized nodes and comparing it with

the average degree of the network. A better way to visualize this boundary effect is to compare

the error with the average degree of the node causing the error. Fig. 2.7 shows us the average

degree of poorly localized nodes (err > R/3,R/2 and R) in comparison with the average degree of

the whole network. It is clear from the figure that there is high correlation between error and the

24

0 2 4 6 8 10 120

2

4

6

8

10

12

Boundary effects in Localization

Average degree of the whole network

Ave

rage

deg

ree

of p

oorly

loca

lized

nod

es (

err

> th

resh

old)

Error > RError > R/2Error > R/3

Figure 2.7: Average degree of poorly localized nodes (err ≥ threshold) vs. average degree of thenetwork

average degree of that node. This illustrates the boundary effect described in the previous section.

However, this does not show what fraction of the network suffer from this problem.

Fig. 2.8 shows the average error contribution by a node for a given degree in the network.

This helps us understand the individual contribution to error of nodes of a particular degree. Note

that the results are averaged over a hundred trials. It is clear from the figure that the nodes with

lower degree have a much higher contribution to error. The variance in their contribution is also

higher. Both the average error contribution and the variance goes down as the average degree

increases. This adheres to our conjecture in the previous subsection.

25

0 5 10 15 20 25 30 35−4

−2

0

2

4

6

8

10

Average degree of node

Per

cent

age

erro

r co

ntrib

uted

by

node

Figure 2.8: Percentage error contributed by each node (network average degree 6.5)

2.5.4 Distributed Formulation

Having studied the algorithm in a centralized formulation, we move on to the distributed version.

The advantage of the distributed formulation as described earlier is that computation is divided

among the masters. Also, the number of constraints goes down as the square of the number of

masters in the setup. This is very suitable for our setup since our problem is overconstrained

to start with. The tradeoff is that accuracy goes down as we distribute the problem. We would

like to study more closely what the tradeoff is between accuracy and load balancing of the HOC

algorithm.

Fig. 2.9 shows us the improvement in average error per iteration in the distributed case (the

cyan triangles) with standard deviations in comparison with the centralized case (blue asterisks).

As can be seen, there is about 10-20% loss in accuracy in the distributed case. This difference

26

0 2 4 6 8 10 12 14 160

5

10

15

20

25

Iterations

Err

or in

dis

tanc

e

Error vs. Iterations

Figure 2.9: Decrease in error with iteration in the distributed formulation (average degree is 8)

reduces marginally every iteration. As shown in [67], this difference in error is reduced to zero if

given enough time. We next study the effect of increase in number of masters.

2.5.5 Physical Experiments

To evaluate the feasibility of our algorithm in real, we setup a mini-testbed of 42 telosb motes.

They were placed in a 6 X 7 grid 30 ft apart from each other. This testbed was used to collect

radio statistics by sending one thousand packets from each node and logging the reception of these

packets on every other node in the network. Given the reception rate, we could construct different

topologies by setting a threshold (T) for reception rate to declare a pair of nodes are connected in

the graph. We vary this threshold to achieve graphs with varying degree. We virtually placed four

masters at four points in the network and simulated the computations being performed on these

nodes.

27

0 2 4 6 8 10 12 14 160

5

10

15

20

25

Number of masters

Ave

rage

loca

lizat

ion

erro

r

Localization error vs Number of Masters

Figure 2.10: Increase in average error with number of masters in distributed formulation

6 7 8 9 10 11 12 13 14 15 16 176

8

10

12

14

16

18

Degree of network

Loca

lizat

ion

erro

r

R=30R=60R=30*sqrt(2)

Figure 2.11: Decrease of error with iteration in experiment

28

The results are shown in Fig. 2.11. The x-axis of the graph shows the degree of the network

and the y-axis shows the final error in localization. Note that the other input to our algorithm is

the radius of communication (R) which is not available for this setup. We picked three values of R

which resulted in the three curves shown in the figure. However, we need a more systematic way

to obtain R. We propose the following two-node experiment to be done in the same environment

as the deployment to get a rough estimate of R.

The idea of the two node experiment is to figure out what the average radius of communication

is in the given environment. First, we need to pick some value of the threshold T of the packet

reception rate beyond which the link is said to be connected. We then place a node at the center

of our experimental area. We then place the other node at distances in increments of 10 ft away

from it in one direction. This is done until we are sufficiently sure that there is no sufficient

packet reception. We repeat this in four orthogonal directions. This gives us a rough estimate

of the radius of communication in the four directions. We then average the radii and assume the

average to be R. This is just an approximation to the actual value required since R is dependent

on each radio as several studies have shown. However, for our purpose this provides a reasonable

estimate in R. For our setup, we obtained a 45 ft. This is close to 30√

2 which yielded the

lowest error among the three radii chosen in Fig. 2.11. This is a fair indicator that the two node

experiment reasonably approximates R.

2.5.6 Two Node Experiment

We study the representative behaviour of the radio packet reception in this experiment. Using

one node as the sender, we vary the distance of the other node (receiver) from the sender while

monitoring the packet reception rate. Fig. 2.12 shows the dropoff of packet reception rate w.r.t

29

distance. Each point represents 800 packets sent. The receiver was placed in all directions to

nullify any directional pattern. Eyeballing the graph shows a dropoff in the packet reception rate

around the 40 ft mark. This could serve as a good value for R. From Fig. 2.11 this is close to 42.42

(30*sqrt(2)) which was the better value among the three tested as R for our outdoor experiments.

0 10 20 30 40 50 60 70 800

0.2

0.4

0.6

0.8

1

Distance in feet

Pac

ket r

ecep

tion

rate

Figure 2.12: Packet reception rate w.r.t Distance (in ft)

2.6 Power-aware Routing

There is a wealth of literature on power-aware routing in wireless networks [48] examining vari-

ous trade-offs. We show how this can be represented in our framework.

30

2.6.1 Assumptions

We assume that there are N sensor nodes (say motes) that are deployed in a square field in a

uniform random fashion such that a path exists in the network graph between any two nodes. Let

the set of edges on this network graph be denoted by A. The neighbor set of a node i is denoted

by Bi. We assume that there are k master-class nodes also uniformly deployed in the network.

Let us call the set of masters M and the set of motes V . Each mote produces sensor readings

periodically (every t seconds) which it wants to relay to any of the master nodes (over multiple

hops if need be). Each mote has a fixed amount of energy (battery capacity Ei for node i) which

depletes over time. Let each mote consume er energy units to receive a packet and et energy units

to transmit. The masters are assumed to have an infinite supply of energy (they have a renewable

energy source like solar power, or are powered externally). From our assumptions, it is clear that

shortest path routing will deplete the energies of nodes closest to the masters first (since they

have to carry a bulk of the traffic), thus leading to disconnection of nodes farther away from the

masters and the masters themselves. Ideally, we would want the network to gracefully deplete

energies of all motes so that data collection lifetime is maximized.

2.6.2 Problem Formulation

We adapt the multicommodity flow formulation of the above problem [14]. Let us assume that

q(i, j) is the flow from node i to node j where (i, j) are neighbors. Let T be the time interval for

31

which the routes are calculated. Let each node generate Q packets of data during that time. By

principle of conservation,

∑j:i∈B j

q( j,i) +Q = ∑j∈Si

q(i, j)∀(i, j) ∈ A and for every i ∈V

The lifetime of a node i is defined as

Ti =Ei

∑ j∈Bi et .q(i, j) +∑ j∈Bi er.q( j,i)

The system lifetime is

Tsystem = min(Ti) ∀i = 1, . . . ,N

Our objective is to maximize Tsystem. Hence the problem is of the form

maxTsystem

such that

∑j:i∈B j

q( j,i) +Q = ∑j∈Si

q(i, j)∀(i, j) ∈ A and for every i ∈V

q(k,i) = 0 ∀k ∈Mand∀i ∈ Bk

q( j,i) ≤ 0

∑j∈Bi

et .q(i, j) + ∑j∈Bi

er.q( j,i) ≤ Ei

32

This is very similar to our formulation of localization in Sec. 2.3. We can distribute the com-

putation using the framework described in section 2.4. Assuming we have k master nodes in the

network, we can allocate the motes to “belong” to a master each. Let the set of masters be called

M. Let Sl be the set of motes that belong to master l. Let L be the set of links that connect motes

between sets. We could split the problem into k smaller problems, and rewrite the formulation as

follows -

For α = 1, . . . ,k

max T αsystem

such that

∑j:i∈B j

( j,i) +Q = ∑j∈Si

(i, j)∀(i, j) ∈ A and ∀i ∈ Sα

qα(k, i) = 0 ∀k ∈M

( j,i) ≤ 0 ∀(i, j) ∈ A and ∀i ∈ Sα

∑j∈Bi

et .qα

(i, j) + ∑j∈Bi

er.qα

( j,i) ≤ Ei ∀(i, j) ∈ A and ∀i ∈ (Sα −M)

We can now use the algorithm discussed in section 2.4 to solve the above problem iteratively.

2.7 Conclusions

We presented ATLAS, a tiered load-balancing architecture for sensor networks. We formulated

connectivity-based localization as an optimization problem and showed how it could be solved.

We then adopted Hierarchical Overlapped Coordination (HOC) to distribute the computational

33

load across all the master nodes and provided an algorithm to do so. We also showed how we can

incorporate other forms of input like ranging into our framework. We then provided a compre-

hensive evaluation of our connectivity-based localization setup with a combination of simulations

and real experiments. We studied the tradeoff of accuracy vs. time (in iterations) and showed that

much of the error comes from the boundary nodes. Further inspection of the boundary nodes led

us to believe that we could adopt other techniques to improve the accuracy of the boundary nodes

(like ranging) and thereby improve the overall performance of our algorithm. We validate our

findings in simulation by doing real experiments. A consequence of our real world experiments

is the two node experiment that allows us to estimate the radius of communication which is an

input required to the algorithm.

Finally, we adopted a flow-based routing formulation into our framework and showed that

we can apply our load balancing technique to power-aware routing for tiered sensor networks as

well.

34

Chapter 3

Robust Connectivity in Robot Networks

3.1 Introduction

Inter-robot communication is critical to most cooperative robotics tasks, a fact not widely rec-

ognized a decade ago [11]. This is true for tasks as diverse as target tracking [49, 102], surveil-

lance [81], mapping [43], or scoring goals in a game of robot soccer [31]. Our focus here is

on using robot mobility to actively improve wireless connectivity in a robot network. There are

many ways to improve connectivity. The transmit power could be raised, the modulation scheme

might be switched, the bandwidth might be variably allocated etc. We focus on increased relia-

bility through redundancy. Specifically, we address the problem of forming a biconnected robot

network from an initially connected robot network. A biconnected network is resilient to single

node/edge failures.

Our contributions in this chapter are as follows:

1. We formally state the Robot Network Biconnectivity (RNB) problem and show that it is

NP-hard in the planar case even when the 2D network graph embedding is given.

35

2. We propose an algorithm that iteratively transforms an initially connected robot network

into a biconnected robot network. With each iteration redundant links are added.

3. The algorithm is proved to be efficient in the sense that it commands the minimal number

of steps (robot movements) required to transform the initial network into a biconnected

network.

4. The algorithm does not use robot localization information. It only assumes that each robot

can determine its bearing relative to its neighbors.

5. The algorithm is shown to work well in practice even with coarse relative bearing obtained

from signal strength gradients using commodity radios and mobility.

The rest of the chapter is organized as follows. Section 3.2 discusses representative related work.

Section 3.3 defines the RNB problem and proves that the planar case is NP-hard. Section 3.4

explains the algorithm in detail. Section 3.5 shows how we use commodity radios to compute rel-

ative bearing. Section 3.6 discusses results from simulations performed in the Player/Stage [35]

environment. Section 3.7 shows results from real world experiments with the iRobot Create

robots. Section 3.8 gives a rationale for some of the design and evaluation choices made in this

study. Section 3.9 concludes with a summary of contributions, and directions for future research.

36

3.2 Related Work

Coordination in swarms or networks of agents has been the topic of study in distributed control.

The second smallest eigenvalue of a graph Laplacian is related to the algebraic connectivity of

the graph. This has been formulated as an optimization problem with an iterative semi-definite

programming solution [52] that is provably convergent locally. In [21] a supergradient decen-

tralized algorithm and a potential-based control law is proposed to solve the same optimization

problem. In [109] a novel control decomposition splits the problem into two phases. First, neigh-

bor links are maintained by performing motion control on the continuous state space. Second,

distributed coordination protocols in the discrete graph maintain connectivity in the dynamic net-

work topology. [95] use the Fiedler value of the Laplacian matrix to to improve the connectivity in

a robot network to maintain the connectivity between two nodes above a minimum user-specified

value. [18] propose gradient descent algorithms to optimal cover a given area with a network of

robots such that the generated control laws are distributed and verifyably correct.

[59] propose a cone-based topology control algorithm that minimizes the number of links in

a network for the network to stay connected. This is done by altering the transmit power. They

propose a local rule ensuring that each node has a neighbor in 5π/6 cone around itself for the

network to be connected. [73] extend this idea to achieve k-connectivity. They propose Neighbor

Every Theta (NET) graphs wherein every node is required to have a neighbor within θ cone

around itself. They also derive the minimum such θ for a given value of k.

Mobility has also been used to improve connectivity by message ferrying( [112]), as data

mules( [88]) and as routers to better connectivity for users in urban settings( [100]). They have

37

also been used for data collection optimizing the distance traveled to minimize energy expendi-

ture [101].

Biconnectivity in robot networks was studied by [1] where a distributed algorithm to check

and maintain biconnectivity when new robots are added to the network. [3] define a local metric

for connectivity called k-redundancy and present an algorithm to mantain and repair the con-

nectivity by locally estimating this metric. They also estimate the repair time. [17] presents a

distributed, reactive algorithm that is used for deployment and maintenance of a robot network

by performing a random walk in the configuration space until it arrives at a location where it

satisfies the user-specified constraints for connectivity. [85] presents a distributed control law

to drive robots to an optimal sensing configuration. The algorithm is provably convergent and

decentralized.

The algorithm to compute the number of biconnected components in a connected graph was

inspired by prior work on graph augmentation using depth-first search [99]. Connectivity aug-

mentation in graphs [30, 51] is studied as follows: Given a graph G(V,E) where E is a super set

of edges and E ′ ∈ E is a subset of edges what are the minimal number of edges to be added to

E ′ from E to make the graph k− connected? The augmentation problem to go from a connected

graph to a biconnected graph is NP-hard [30]. It has been shown that the general problem of

going from a (k−1) connected graph to k-connected graph is NP-hard for all k >= 1 [51].

38

3.3 Problem Definition and Complexity

Definitions: Given a graph G(V,E) where V is the set of vertices and E is the set of edges,

Doubly connected vertices are vertices u,v ∈V such that they have two vertex-disjoint paths be-

tween them. A graph in which every vertex is doubly connected with every other vertex is called

biconnected. A biconnected component of a graph G is a subgraph G′ which is biconnected.

By definition, two biconnected components have no more than one vertex in common. An artic-

ulation point is a vertex that belongs to two biconnected components. If two articulation points

are adjacent to each other and are singly connected, they are said to form an articulation pair. A

pendant block is a biconnected component that has exactly one cut vertex. An isolated block is

a biconnected component that has no cut vertices i.e. it is disconnected from the rest of the graph.

The last four terms follow the definitions in [27].

Weighted biconnectivity augmentation problem: Assume the existence of a cost function

which associates a non-negative real number (a cost) with each edge of a network graph G(V,E).

Let E ′ be a superset of E (E ∈ E ′). Deciding whether there exists a subset of edges in E ′−E, with

total cost F or less, which biconnect the vertices of V is NP-hard [27]. This is true even when G

is planar [50].

Robot Network Biconnectivity (RNB) problem: Consider a robot network graph G(V,E)

and its 2D embedding {(xi,yi)|∀i ∈ V,xi,yi ∈ R} where the robots are located. The set of edges

E corresponds to the disk communication model with radius r i.e. only nodes within distance

r of each other have an edge between them. Formally, ∀v ∈ V 3 (xv,yv) ∈ R. E = {(u,v)| iff√(yv− yu)2 +(xv− xu)2 ≤ r}. As the robots move on the plane, edges are added to, and/or

39

deleted from, G. We assume that at each time step j, only one robot makes a move of distance

d j. We denote by GM(VM,EM), the graph resulting from a set of moves M.

Given a positive integer k, the RNB decision problem is defined as follows. Is there a

sequence of movements M such that ∑ j d j ≤ k and GM is biconnected?

Theorem 3.3.1. The RNB decision problem is NP-hard.

Proof. Assume G(V,E) is a planar graph and E ′ is a superset of E. We pose the weighted bi-

connectivity augmentation problem on G where the vertices of G correspond to the robots in the

network. Let us restrict the motion of each robot as follows. A robot v is allowed to only move

in a straight line in the plane directly heading towards another robot w iff (v,w) ∈ E ′. We define

the cost of movement to be equal to the cost of the edge (v,w).

The RNB decision problem is now equivalent to the weighted biconnectivity augmentation

problem. It is known that the planar version of the biconnectivity augmentation problem is NP-

hard [50]. Hence, the robot network biconnectivity (RNB) problem is NP-hard.

In this proof, we reduced the weighted biconnectivity augmentation problem to a specific

(simple) instance of the RNB decision problem. In practice, when a robot moves directly towards

another it may establish connections with other robots within the range of communication or lose

existing connections. The net effect is not simply to add exactly one edge for every movement.

More generally, if each robot has the freedom to move in any direction it chooses to, the problem

becomes significantly more complex.

40

3.4 Algorithm: Connectivity to Biconnectivity

We propose an iterative algorithm to transform a connected robot network into a biconnected

robot network. The algorithm is completely distributed and makes use of relative bearing infor-

mation which is locally available at each robot. It does not require robots to be localized. It uses

mobility to add one edge at a time to enhance network connectivity. Empirical observations indi-

cate that network routes tend to switch frequently when robots are moved. Therefore, we take a

conservative approach to edge augmentation, and move only one robot at any given time. A new

iteration of the algorithm begins every time a new edge is established. The algorithm has three

phases.

3.4.1 Phase I: Computing Biconnected Components

The first step is to compute the biconnected components in the existing robot network. This

is done using Chang’s distributed algorithm [13]. By simple message passing, the algorithm

marks nodes to be in particular biconnected components and correspondingly identifies articula-

tion points as ones that are part of more than one biconnected component.

Fig. 3.1 (left) shows a graph with ten vertices, each corresponding to a robot. Fig. 3.1 (right)

shows the same graph with the biconnected components marked. Vertices C,A,E are articulation

points.

The algorithm assigns a number to every node in a biconnected component. This informs

the articulation point of the biconnected component of each of its neighbors e.g., robot C is told

that its neighbors B and F are in biconnected components G2 and its neighbors G and D are in

biconnected component G1.

41

Figure 3.1: A 10 robot network (left) showing the biconnected components and articulation points(right).

Before describing Phase II, we make the following observation. One way to decrease the

number of biconnected components is to connect two neighboring biconnected components via

an edge. Intuition suggests that a way to do this is to connect two neighbors of an articulation

point which belong to different biconnected components. In the example of Fig. 3.1, adding

a link between robots F and G would merge biconnected components G1 and G2 into a single

biconnected component. Given the initial locations of robots F and G, simple geometry would

be sufficient to compute goal locations F ′ and G′ for each of them such that they would be within

communication range of each other. But what if the locations of the robots F and G were unknown

(or difficult to measure without specialized sensors or maps) ? We assume that the robots are not

localized, but every robot can measure the bearing of each of its network neighbors. Phase II of

the algorithm is designed under the assumption that this measurement is error-prone and provides

a coarse estimate of the true relative bearing of each neighbor.

42

3.4.2 Phase II: Movement Direction

Phase II is implemented at the articulation points only. The robot at each articulation point mea-

sures the relative bearing to each of its neighbors (details of how this is done in practice are in

Sec. 3.7). Each robot at an articulation point sorts its neighbors in the order of their measured

bearing relative to itself. Each robot at an articulation point searches for two neighbors that be-

long to different biconnected components but are adjacent to each other on this sorted list. If

there is more than one such pair, the robot picks the pair whose angular bearing difference is

the smallest. Note that there always exists at least one such pair by virtue of this robot being an

articulation point with membership in (at least) two biconnected components.

Figure 3.2: Neighbors in different quadrants (left) and same quadrant (right)

Each robot at an articulation point has now identified a pair of neighbor robots which differ

in relative bearing by the smallest amount. If a direct communication link is to be established

between these two robots they must move closer to each other. We propose a coarse quantization

approach to address this problem under the constraint that robot locations are unknown and the

bearing estimates are error prone.

43

Table 3.1: Rule set to determine command at articulation pointnode 1

node2 Q1 Q2 Q3 Q4Q1 -al−45◦ −al 45◦−al al−270◦

135◦−ah 180◦−ah ah−135◦ 90◦−ah

Q2 45◦−al 90◦−al 135◦−al135◦−ah 270◦−ah 315◦−ah

Q3 135◦−al 180◦−al315◦−ah 360◦−ah

Q4 225◦−al415◦−ah

Each robot at an articulation point uses a coarse quantized rule set to determine the com-

manded angle of travel for its neighbors. The rule set is shown in Fig. 3.2. In the figure, the

robot at the articulation point is at the origin. If the neighbor robots are in the same quadrant wrt

the articulation point (Fig. 3.2 right), the move commands are quantized to lie on the diagonals

(π/4,3π/4,5π/4 and 7π/4). If the two neighbor robots are in adjacent quadrants (Fig. 3.2 left),

the move commands are quantized to be either horizontal (0,π) or vertical (π/2,3π/2) as the

case may be.

The lack of range information restricts us from being able to compute the precise direction of

motion for the nodes. As we see in a later section, the coarsely quantized directional moves cope

well with the lack of range information and make the algorithm resilient to significant bearing

error. From the rules in Fig. 3.2, we obtain a rule set as shown in Table 3.4.2 for each articulation

point. ah is the bearing that is the higher of the two nodes selected. al is the bearing that is lower.

In the example graph in Fig. 3.1, consider the articulation point C. Assume that robot C

has its local axes as indicated in Fig. 3.3(a). C has 4 neighbors G(0◦), F(30◦), B(90◦) and

D(270◦) (listed in order after sorting according to bearing). The two robots on this sorted list with

the smallest angular separation yet belonging to different biconnected components are G and F .

44

Since both these robots are in quadrant I (in robot C’s reference frame), robot C commands them

to move as illustrated in Fig. 3.3(a). The command is sent to each robot as an angle wrt to the

edge connecting the articulation point and the robot that needs to execute the move. In this case,

the command sent is −60◦ to robot F and 90◦ to robot G (Fig. 3.3(b)). As a convention, angles

measured counter-clockwise from the reference edge are positive and clockwise are negative,

which is why node F receives a negative angle.

(a) Command sent: Articula-tion point

(b) Angle calculation: Articulationpoint

Figure 3.3: Applying rule set in Table 3.4.2 to an example graph in Fig. 3.1

It should be noted that in general one robot could be the articulation point connecting k > 2

biconnected components. In such cases, the robot picks the smallest bearing separated k node

pairs that belong to different biconnected components but are adjacent to each other in the sorted

list of angles. This is illustrated in the example below in Fig. 3.4. The network consists of five

robots with corresponding biconnected components as marked. Robot E is the articulation point

that connects both pairs of biconnected components 1,2 and 2,3. Correspondingly, E pick 2 pairs

of robots (likely A,B and B,C in this example) as robots that could move towards each other to

achieve biconnectivity.

45

1

2

33

1,2,3

A

B

CD

E

Figure 3.4: Robot E is an articulation point belonging to more than 2 biconnected components.

3.4.3 Phase III: Sending Motion Commands

In the final phase, the algorithm identifies which robot should actually move. For this a movement

cost is computed. The movement cost of a robot is defined as the number of potential disconnec-

tions that a robots might suffer by moving in a given direction. This is calculated by counting all

the neighbors that are in the half-plane that is opposite to the direction of travel (e.g., in quadrants

3 and 4 in its frame of reference) as shown in Fig. 3.5(left)). Each articulation point then mes-

sages the next articulation point with the total cost if both robots in a neighbor pair (identified in

Phase II) were moved. The last articulation point picks the articulation point whose neighbor pair

is predicted to incur the least cost. Once this is done, the articulation point commands the robots

in the chosen pair to move.

Once a robot receives a command to move, it transforms the angle received to its frame

of reference. It then proceeds to move in computed direction without disrupting any existing

edges. This is done by keeping track of the signal strength of each of its edges. If the robot

46

senses that it might be losing connectivity with any of its neighbors, it stops and informs its

articulation point neighbor of its inability to move further. The articulation point marks the robot

neighbor as infeasible and commands the other robot in the pair to move. If both robots fail,

the articulation point informs the next articulation point that it is unable to perform the requested

action which then proceeds to command its neighbors to move. If all articulation points fail, the

algorithm terminates. A sample execution is shown in Fig. 3.5. Once a new edge is established,

the articulation point broadcasts a message upon which all nodes returns to the execution of Phase

I.

Figure 3.5: Example command(left), infeasibility when node C stops because C−F and C−Eare likely to disconnect (middle) and node A moves to make the connection (right)

3.4.4 Optimality

We now show that the number of movements this algorithm commands is the minimum num-

ber required to establish biconnectivity subject to an edge being created as the result of every

movement.

Theorem 3.4.1. Algorithm 1 makes the minimal number of moves to achieve biconnectivity.

47

Proof. Following [27] let v be any node in graph G. We can divide the edges of G into equivalence

classes Ei such that two edges (x,y), (w,z) are in the same equivalence class if and only if there

is a path (v1,v2), · · · ,(vk−1,vk) containing (x,y) and (w,z) but such that vi 6= v for 2 ≤ i ≤ k−1.

Each equivalence class Ei defines a subgraph Gi = (Vi,Ei) of G. The subgraphs Gi are called

v-blocks of G. Let d(v) be the number of v-blocks of G. Then d(v) > 1 if and only if v is a cut

node. If G has n connected components and v is contained in b blocks then d(v) = b+n−1. Let

d = max{d(v)|v ∈V}

Theorem 6 from [27] states that the minimum number of edges to be added to a graph to

make it biconnected is max(d−1,dp/2e+q) where d−> max{d(v)|v ∈V}, p is the number of

pendant blocks, and q is the number of isolated blocks.

Assume that the robot network has k biconnected components at the start of the algorithm.

If all moves were to result in additional edges, k− 1 moves are needed to biconnect the graph.

By assumption, q = 0 (we consider only connected graphs). By definition, d > p because every

pendant block is a potential cut node (d(v) > 1). d(v) = b + n− 1 by definition. However, in

a connected graph n = 1 (number of connected components). Hence, d(v) = b where b is the

number of blocks. Note that each of these blocks are separated by cut vertices. By definition,

each cut vertex is an articulation point and vice versa. Hence, d(v) = k where k is the number of

articulation points. This implies that the minimum number of edges to be added to a connected

graph to make it biconnected is k−1. This is exactly what Algorithm 1 achieves in the case where

a commanded move causes a single edge to be added.

48

In practice, there is no way to ensure that each move will result in the formation of an edge.

This is dictated by the topology, wireless properties of the particular environment, the error pa-

rameters of the specific robots etc. This is the motivation for the following sections which study

the behavior of the algorithm in simulation and on a physical robot testbed. These studies estab-

lish that the proposed algorithm is well suited for real-world deployments.

49

Algorithm 1 CREATE BICONNECTED ROBOT NETWORKRequire: Each node has an individual IDEnsure: Every node has capability to find its neighbors

INIT: Initialize global state and individual data structuresPHASE-IBICOMP: compute-biconnected-components()PHASE-IIif I am an articulation point then

CALCULATE-ANGLE:compute-nodes-and-direction()Receive articulation point list, append cost and transmit to next articulation pointif list size == number of articulation point then

Pick articulation point with least costTransmit articulation point list to that articulation point

end ifend ifPHASE-IIIif I am an articulation point with least cost then

Send move command to the node that costs the leastend ifif Node asked to be marked infeasible then

if We tested the other node and found it was infeasible also thenMark this articulation point as infeasibleGoto Phase-II and transmit list to least expensive articulation point

end ifend ifif Made connection with node from different biconnected component then

Broadcast message to return to PHASE-IGoto PHASE-I;

end ifMOVE:if I received MOVE command then

Change frame of reference of angle commandedwhile Links to my neighbors are not lost do

Move in commanded directionif Made connection with other biconnected component or about to disconnect from a neighborthen

breakend if

end whileif Cannot connect with other biconnected component then

Message AP to mark this node infeasibleend if

end if

50

3.5 Bearing Computation

As mentioned in Sec. 3.4, relative bearing is a basic input for our algorithm. Our intent is to

use commodity robots without sophisticated sensors. Adhering to this design philosophy, we

explore the use of commodity wireless radio as sensors to compute relative bearing. As we will

show, commodity radios can be used to provide coarse relative bearing which in turn can be

used as input to our algorithm. This section describes how we compute relative bearing using

commodity radios. We experimented with two radios - IEEE 802.11b (WiFi) and IEEE 802.15.4

(Zigbee). Both radios operate at 2.4 GHz. Our experiments show that zigbee radios form better

sensors for relative bearing computation because their signal strength fading with distance is more

discernable than wifi radios. This work has previously appeared here [19].

3.5.1 Radio Fundamentals

Radio signal fading with distance can be attributed to two mutually independent phenomena. We

briefly list these phenomena for better understanding of our assumptions. For further details, the

reader is referred to [87].

• Multipath propagation is a small-scale effect when the distance scales involved are on

order of a wavelength. Multipath is caused by interference of the main (line of sight) and

reflected component(s). The interference has either a constructive or destructive effect on

the main component depending on whether it arrives in phase or out of phase. By making

very minor variations (order of wavelengths) between transmitter and receiver, this property

can be used to understand the positioning of the two radios. This property is called Fast

fading.

51

• Path loss is the large-scale effect of propagation in any medium (like air or water). This

is mainly because of the way the radio energy is transmitted in the medium of propagation

and how much loss it endures. This property is also called slow fading.

There are numerous radio propagation models that have been proposed in literature character-

izing one of more of these effects in general and in particular environments. A detailed account

can be found in [87]. We refer to three popular models from literature to illustrate the chief

characteristics of path loss. The free space loss is an idealistic loss model that considers the loss

of signal strength resulting from line of sight transmission in free space. The Log-distance model

and the ITU indoor model are more realistic and model multipath effects that occur in buildings

and other similar dense areas. Our emperical observations lead us to believe the log-distance

model characterizes path loss in open spaces well while the ITU indoor model is a close approx-

imation for our indoor experiments. We would like to note that all our experiments are for links

that are line of sight. Radio propagation is significantly more complex for non LoS connections.

Free space loss models the received power as the 3D spread.

LossdB = Pt −Pr = 20log10(d)+20log10( f )+32.44 (3.1)

where Pr is the received power, Pt is the transmit power, f is the frequency of transmission in MHz

and d is the distance between the transmitter and receiver in km. This model does not consider

the medium of transmission or obstacles in the environment.

Radio propagation in open spaces is better modeled using the log-distance path loss model [87].

L = L0 +10γ log10(d/d0)+Xg (3.2)

52

where L0 is the path loss at the distance d0 and Xg is a Gaussian random variable with zero mean

and standard deviation σ that stands for shadow/slow fading.

Another popular model to represent indoor radio transmission is the ITU Indoor model.

LdB = 20log10 f +N log10 d +L f (n)−28 (3.3)

where LdB is the total path loss in dB, f is the frequency of transmission in MHz, d is the distance

between transmitter and receiver in m, N is the power loss coefficient and L f (n) is the floor

penetration factor. The constants N and L f (n) are modeled in detail in [87]. We invert emperically

measured signal strength readings for our analysis.

3.5.2 Algorithm for bearing computation

Our objective is for a robot to find the relative bearing of its neighbors. The principle is to sample

the signal strength in the local neighborhood of the robot and identify the signal strength gradient.

The robot that wants to compute relative bearing starts by sending a message to all its neighbors

to start transmitting. On receiving this message, all its neighbors start sending beacon messages

periodically (every 10ms). The robot then travels a small distance (the step size of our algorithm)

and samples the received signal strength a given number of times (100 in our experiments). The

robot returns to its original position by reversing. It then turns in place 45◦ anti-clockwise and

repeats. It does this eight times until it returns to the original spot.

Principal component analysis (PCA) is then performed on this sampled data. PCA is a linear

transform that transforms the data to align the greatest variance along the first coordinate, the

second greatest variance along the second coordinate and so on. If we assume monotonicity

53

and symmetry of signal strength decay from the transmitter, the first coordinate of the PCA (the

direction of greatest variance) is the relative bearing of the source. This is the value we seek to

estimate.

Consider Fig. 3.6. Robot B wants to measure its bearing to robot A. The figure shows a

cartoon depiction of the radio signal strength field of robot A. Robot B moves to positions 1-8 in

its vicinity (each a unit step distance from its initial position). At each location robot B pings robot

A to send beacon messages. Robot A responds with n beacon messages (in our implementation

n = 100) and robot B records the received signal strength associated with each received packets.

Robot B also records the average signal strength at its original location thus collecting signal

strength measurements from a total of nine locations in its neighborhood. On completion, robot B

computes the principal components of the measured signal strength field. The largest component

is its estimate of the orientation of robot A relative to itself. In Fig. 3.6, this estimate is shown

to be erroneous by 27.3◦. The step distance is a tunable parameter since bigger steps yield better

gradient measurement and consequently reduced error in bearing computation.

Figure 3.6: Pattern of signal strength sampling for bearing computation.

54

3.5.3 Step Distance

An important parameter in the above description is the step size that the robot moves. This is an

important parameter since the signal strength decay is subject to the environment the robots are

in. If there is not enough signal strength difference between three collinear sampled points, our

bearing calculation can be arbitrarily poor.

Using the ITU indoor model, and values from our sample data collection indoors, d0 = 3.1,

L0 = 9dB, L = 20dB, σ = 3 and inverting for step distance that causes a 20dB drop (L) we obtain

a step size of approximately 2m. Similarly, inverting the Log-Distance model outdoors we get a

step size of approximately 5m. These results are for WiFi radios. We also collected data from

802.15.4 radios. Inverting them resulted in similar step sizes - 1.5 m indoors and approximately

3.5 m outdoors.

In order to experimentally validate our step size, we computed the bearing varying the step

size. Shown in Fig. 3.8 are the results outdoor and Fig. 3.9 are the results indoor. Both these

results are for the zigbee radios.

There is related work on discerning the small-scale fading effects of radio propagation by

making “small” movements in the order of λ/2 (where λ is the wavelength of the radio waves).

Our radios operate at 2.4GHz (λ ≈ 12cm). We note that while our movements are small in the

size of the area of deployment, they are much larger than λ/2 and are not designed to address

small-scale fading effects.

3.5.4 Radio as a Bearing Sensor

We collected signal strength data by keeping one robot stationary and the other robot sample a

grid of 27.5X18.3m sampling every 3m. This gave us a grid of 9 points by 6 points totalling

55

to 54 points. At each point, we sampled the signal strength 500 times at a interval of 100ms.

We collected data for both WiFi and Zigbee radios. Shown below is a signal strength map of

the area from the collected data (signal strength is averaged at each point). Fig. 3.7 shows the

signal strength measurements for the zigbee radios. The variation is quite noisy as has been

empirically noted in the literature [111, 106]. We also collected data with the mobile robot facing

four different directions.

Figure 3.7: Signal strength map in an area of 6 m x 10 m (Zigbee)

We then compute relative bearing at all possible points using principal components and show

you the average results in Fig. 3.8. As step distance increases, the mean error decreases. For

a step distance of around 6 m, the average bearing error is 18.3◦outdoors. Similarly, shown in

Fig. 3.9 are the indoor results. For a step distance of 1.5 m, the error is 19.6◦on average.

56

0 10 20 30 40 50 60 70 80 90

0 2 4 6 8 10

Err

or in

bea

ring

estim

ate

(deg

rees

)

Step distance (m)

Bearing Error vs. Step Distance

Figure 3.8: Decrease in bearing error with increase in step distance (Zigbee)

0 10 20 30 40 50 60 70 80 90

0 0.5 1 1.5 2

Bea

ring

erro

r (d

egre

es)

Step distance (m)

Bearing error vs. step distance

Figure 3.9: Error in computed relative bearing from RSSI

57

3.6 Simulation Study

We performed simulation studies using the Player/Stage robot simulator [36]. We simulate the

iRobot Create robots with a standard computer plus Wifi card and a disk radio model. We sim-

ulated a variety of randomly generated topologies to empirically verify the robustness of our

algorithm. We have performed simulations with a variety of topologies. Results are presented

here from three specific topologies - one with 16 nodes, 20 nodes and 25 nodes. In addition to

verifying the correctness of our algorithm in the ideal case, we use the simulator to study the ef-

fects of noise in relative bearing measurement, odometry, and robot turn angle on the performance

of our algorithm. This evaluation helps us better understand the impact of common sources of

sensing error on the functioning of our algorithm. We also study a combination of such errors to

simulate real-world scenarios. As shown in the sections below, our algorithm is robust to noise

with a graceful degradation in performance.

We have performed simulations with a number of randomly generated robot network topolo-

gies and have empirically validated that the algorithm works. Shown in Fig. 3.10(a) is a sample

16-node topology and the resulting biconnected network after executing our algorithm (Fig. 3.10(b)).

The first observation is that the algorithm works as expected. The trails in the images in Fig. 3.10(b)

show the motion of the robots as the algorithm is executed.

From Fig. 3.6, the simulations suggest that the algorithm is robust to bearing error and com-

pletes all the trials even with bearing error upto 25◦. Fig. 3.6 suggests that the algorithm is quite

robust to odometry error and even with 30% difference in the distance commanded and the actual

distance traveled, the algorithm terminates successfully. Fig. 3.6 suggests that the algorithm is

58

(a) A network of 16 nodes

(b) The network in (a) transformed by our algorithm into a biconnected network

Figure 3.10: Sample trial on a 16-node network59

0

20

40

60

80

100

0 10 20 30 40 50Suc

cess

ful c

ompl

etio

n (%

)

Bearing error (degrees)

16-node network20-node network25-node network

Figure 3.11: Effect of bearing error on algorithm success

0 20 40 60 80

100

0 10 20 30 40 50

Suc

cess

ful c

ompl

etio

n (%

)

Odometry error(%age of distance moved )

16-node network20-node network25-node network

Figure 3.12: Effect of error in robot odometry on algorithm success

60

0

20

40

60

80

100

0 5 10 15 20 25 30 35 40 45Suc

cess

ful c

ompl

etio

n (%

)

Turn angle error (degrees)

16-node network20-node network25-node network

Figure 3.13: Effect of turn angle error on algorithm success

quite sensitive to turn angle error. For turn angle errors greater than 15◦, the success comple-

tion rate decreases rapidly. Intuitively, this is explainable by the fact that the algorithm relies on

relative bearing to achieve biconnectivity and any error in turn results in the robot moving in a

different direction to what was commanded.

3.6.1 Robustness to Sensing and Actuation Noise

To characterize the resilience of our algorithm, we study the effect of sensing and actuation noise

on the successful completion of the algorithm and the total distance traveled by the robots to

achieve biconnectivity. Shown in Fig. 3.6,3.6,3.6 are bar plots of the number of trials success-

fully completed (out of a total of 25) as (i) the relative bearing error is varied (Fig. 3.6), (ii) the

odometry error is varied (Fig. 3.6), and (iii) turn angle error is varied (Fig. 3.6).

61

0

10

20

30

40

50

0 10 20 30 40 50

Tot

al d

ista

nce

trav

eled

Mean bearing error (degrees)

16-node network20-node network25-node network

Figure 3.14: Increase in total distance traveled with increase in bearing error

0

5

10

15

20

25

30

35

0 10 20 30 40 50

Tot

al d

ista

nce

trav

eled

Odometry error (%age of distance commanded)

16-node network20-node network25-node network

Figure 3.15: Increase in distance traveled with increase in odometry error

62

0 5

10 15 20 25 30 35 40 45

0 5 10 15 20 25 30 35 40

Tot

al d

ista

nce

trav

eled

Turn Angle error (degrees)

16-node network20-node network25-node network

Figure 3.16: Increase in distance traveled with increase in turn angle error

First, we introduce error in the bearing computation. We add zero mean Gaussian noise to

the relative bearing angles computed in the ideal case. We performed 25 trials at each noise

level. Our first observation is that all the trials completed successfully upto an average error of

25◦ (Fig. 3.6) in the relative bearing measurement. As mentioned in Sec. 3.4 our objective was

to make the algorithm robust to sensing error. In Sec. 3.7 we show experimentally that using

commodity radios we can compute relative bearing within reasonable error (mean 20◦).

Fig. 3.6 plots the mean bearing error on the x-axis (in degrees). The y-axis shows the total

distance traveled by all robots to achieve biconnectivity. There is an increase in the total distance

traveled to achieve biconnectivity as the bearing error increases. This is understandable since

erroneous bearing information causes incorrect movements in the quadrant-based rule set given

in the previous section. However, the algorithm still works correctly until the mean error is 25◦ or

more. The total distance moved by the robots goes up an average of 40% for a mean bearing error

63

of 25◦. From the graphs, the performance degradation (as measured by total distance traveled)

degrades gracefully with increase in error. This is a desirable property.

Next we examine odometry error. Shown in Fig. 3.6 is the total distance traveled as a function

of the percentage of odometry error introduced. The odometry error does not contribute signifi-

cantly to either missed completions or increased distance of travel. This is because connectivity

is not affected significantly by traveling a few distance units one way or the other in the same

direction. The extra distance traveled with increased error is an after effect of traveling more

due to the introduction of the error. As the percentage error in robot odometry increases, the

robots travel out of the range of their neighbors thus breaking edges and the performance of the

algorithm degrades (Fig. 3.6). Also, the variance of the total distance traveled increases.

The third parameter we test in simulation is the turn error. Every time a robot is issued a turn

command, we add some error to the commanded angle. This reflects what happens in practice

with real robots. This is significant since we turn the robot a full 360◦ when we need to compute

bearing using signal strength (as we explain in the next section). Fig. 3.6 shows the total distance

traveled wrt the angular error added to the commanded turn. The error is in degrees. As turn error

increases, there is a pronounced increase in total distance traveled. On examining the individual

simulations, we conclude that this is both due to longer path traversals and increase in the number

of movements made. Our algorithm is fairly sensitive to turn error (Fig. 3.6). This is because this

error accumulates quickly. We note that in the physical experiments (Sec. 3.7) the turn angle error

is under 10◦ and hence does not appear to be a major cause for concern in practice.

To more closely simulate a real-world scenario, we simulate the same topologies with three

concurrent sources of noise: 20◦ bearing error, 20% odometry error and 10◦ turn angle error. The

64

completion percentage is 100% while the total distance traveled is about 53% higher than the

ideal case.

In summary, our initial evaluation shows that coarse bearing as estimated in Sec. 3.5 that gives

us a relative bearing error of 20◦ on average is good enough for our algorithm which tolerates

errors as high as 25◦. The performance as measured by the total distance traveled by the robots

degrades gracefully with increase in error. The only kind of error that has a significant impact on

the performance seems to be turn angle error.

3.6.2 Network Connectivity and Coverage

Having established the feasibility of our algorithm, we next study the effect of the algorithm on

the network. Our objective in designing this algorithm was to robustify connectivity. Here, we

study how connectivity of the network is impacted. Our algorithm trades off coverage for better

connectivity. We also examine how coverage is affected.

By adding additional edges in the network, we are increasing the number of paths between

any two nodes. We measure the number of additional paths as the average number of vertex-

disjoint paths in the network and the average number of edge-unique paths in the network. We

also compute at the average path length in the network. This is significant since wireless is

inherently lossy and we can expect packet losses on every hop. Shorter path lengths imply better

throughput end-to-end.

To understand the coverage of the robot network, we calculate the area of the convex hull of

the network before and after our algorithm runs. We discretize this area and count the percentage

of this area within the convex hull that is within the range of two or more robots. With an abuse

of terminology we call this the biconnected region of the network.

65

0

1

2

3

4

5

6

12 16 20 25

Ave

rage

pat

h le

ngth

Number of nodes in network

Initial NetworkBiconnected Network

Figure 3.17: Average path lengths for networks of different sizes (Error=20% odometry,20◦bearing, 10◦turn angle)

All the results shown are for the three topologies described earlier. We also add 20◦ bearing

error, 20% odometry error and 10◦ turn angle error to each trial.

As shown in Fig. 3.17, the average path length in the network decreases by approximately

20-30%. This is significant as mentioned earlier since wireless packet loss is exponential in the

number of hops. The number of vertex-disjoint paths increases by approximately 60%. This

implies that the routing protocol significantly more routes to choose from to route data between

robots. It also implies that the final topology is more redundant than the initial topology and can

withstand robot failures and edge disconnections.

To better understand the effect of our algorithm on the coverage of the robot network, we

measure the area of convex hull of the robots in the network. This is a representative measure of

the area of coverage of the robot network. We discretize this area and compute the percentage of

66

0

5

10

15

20

12 16 20 25

Ave

rage

num

ber

of p

aths

Number of nodes in network

Initial NetworkBiconnected Network

Figure 3.18: Average number of paths between two nodes (Error=20% odometry, 20◦bearing,10◦turn angle)

0

1

2

3

4

5

12 16 20 25

Ave

rage

num

ber

of

ver

tex-

uniq

ue p

aths

Number of nodes in network

Initial NetworkBiconnected Network

Figure 3.19: Average number of vertex-unique paths (Error=20% odometry, 20◦bearing, 10◦turnangle)

67

0

100

200

300

400

500

600

16 20 25

Con

vex

Hul

l are

a (s

quar

e un

its)

Bearing error (degrees)

Initial NetworkBiconnected Network

Figure 3.20: Area of the convex hull of the network (Error=20% odometry, 20◦bearing, 10◦turnangle)

this area that is biconnected (as explained earlier, by this we mean the percentage of the area that

is in the range of two or more vertices).

As seen in Fig. 3.21, the convex hull area of the network decreases by 27% for the 16 robot

network, approximately 35% in the 20 robot network and approximately 33% in the 25 robot

network. Correspondingly, the area that is biconnected increases by 23%, 26% and 26% respec-

tively. This is to be expected as the robots have moved closer and there is more overlap. The first

measure is the main tradeoff that our algorithm makes. The robot network coverage decreases in

order to achieve redundancy.

3.6.3 Discussion

The key observation from the trails in Fig.3.10(middle) is that the robots tend to move towards

the interior of the graph. If we were to draw a convex hull for the network graph, the robots would

68

0

20

40

60

80

100

12 16 20 25Per

cent

age

area

two-

conn

ecte

d (s

q un

its)

Number of nodes in the network

Initial NetworkBiconnected Network

Figure 3.21: Area of the convex hull of the network that is in the range of two or more robots (aspercentage of total area) (Error=20% odometry, 20◦bearing, 10◦turn angle)

move towards the interior of the convex hull. There are two main reasons. The leaf robots are the

ones that are least likely to break any edges in moving and are thus the first to move. They have

to move towards the network in order to establish new edges. This brings them “closer” to the

network. Intuitively, this makes sense since shorter distances mean better chances of connectivity.

This explains the behavior noticed above. Our current algorithm only considers connectivity as

an optimization criterion. Further work needs to be done to jointly optimize both the coverage

and connectivity of the robot network. Failures mainly occurred in pinched networks. One of the

topologies on which our algorithm fails is shown in Fig. 3.22. In the final setup, the articulation

points are closer towards the center of the network. The computed motion commands are also in

the direction towards the center of the network. But none of the robots can execute the movements

since they have neighbors which will get disconnected if they execute the move. This happens in

pinched networks where two large biconnected components are connected by one or more edges.

69

Figure 3.22: An example of a 9-robot network that causes failure (left) and resultant networkafter the algorithm terminates (right)

Since our algorithm dictates that only one robot move at a time, and it is required to move such

that it does not break any edges, the algorithm terminates with no more moves. This could be

alleviated by using potential forces to move not just one robot at a time, but whole components.

Our main concern with taking this approach is that moving multiple robots might by itself lead

to disruption of links, and moving robots together in “formation” is non-trivial.

70

3.7 Experiments with Robots

We performed experiments with the iRobot Create platform (Fig. 3.23). Each Create is fitted

with an e-box running Linux and the Player [36] device server. The e-box is a standard micro-

ITX form factor box with a VIA chipset (800 MHz processor/256MB shared memory) and a CF

card for storage. We use an EMP-8602 802.11 a/b/g high power miniPCI card with a indoor

rubber duck omnidirectional antenna. Each box is also equipped with a Telos mote [75]. The

antenna was raised approximately 1m above the ground for better signal propagation. Our robot

testbed is similar to the MADNeT [78] and SmURV [86] platforms.

Figure 3.23: iRobot Create fitted with raised antenna

As explained in Sec. 3.4, our algorithm uses bearing to decide which nodes should move

and their direction of movement. Various sensors have been used to compute bearing in robot

networks. The Millibots [55] use an array of infrared sensors while the Scarab robots [64] use a

71

Table 3.2: Average distance traveled (m) to achieve biconnectivity (average of five trials)Num Robots Average Standard Deviation

4 2.4 0.35 4.2 1.6

combination of lasers and vision to obtain bearing. Our approach is to estimate relative bearing

using 802.15.4 radios as explained in detail in Sec. 3.5.

For inter-robot communication, we use OLSR [16] as our adhoc routing protocol. Our initial

tests showed severe route oscillations and switching when robots were moving. We had to modify

some parameters (increasing the Hello Validity Time and TC Validity Time) and raise the antenna

to reduce the frequency of route changes.

3.7.1 Robustness to Sensing and Actuation Noise

We tested our algorithm on the four-robot topology shown in Fig. 3.24, 3.25. Shown in Table. 3.3

are angle error from two trials (best and worst) with the same start configuration. One trial is

shown in Figs. 3.24, 3.25. Consider trial 1: the average bearing error was 15.3◦. The command

that should have been sent by the articulation point was 180◦. Due to error in bearing calculation

at the articulation point (node 3) combined with the turn angle error at robot 4, the resultant

command executed had an error of 36.2◦. Robot 4 established an edge with robot 2 resulting in

a biconnected network. This illustrates the power of our algorithm. Despite noise in the relative

bearing estimate, the error is well below 90◦. Since we use quadrants to compute movement

commands, robots proceeds roughly in the correct direction. In the worst case among our trials

with four robots, the average bearing error was 31.66◦. The average bearing error across the five

trials was 26.3◦.

72

Figure 3.24: Initial four robot network (top) and final biconnected network (bottom)

Our next set of trials were with five robots (Fig. 3.26(top)). We show results from two trials

in Table. 3.4 (best and worst case) out of five successful trials that we performed. The five robot

case shown in Fig. 3.26 illustrates another way in which our algorithm is robust. The expected

behavior is that robot E moves towards robot C to form an edge between C−E as shown in

Fig. 3.28(left). This reduces the network to two biconnected components. In the second move,

robot D is commanded to move towards robot B to form a biconnected network as shown in

Fig. 3.28(right). However, in two trials, robot E moves towards node C because of bearing and

73

Figure 3.25: Initial four robot network (left) with actual angles and final biconnected network(right) with expected and actual behavior

Table 3.3: Bearing computed in two trials (best and worst) for the 4-robot caseTrial 1 Trial 2

Edge Actual Measured Bearing Measured bearingangle angle(T1) error(T1) angle(T2) error(T2)

C-D 5◦ −10.7◦ 15.7◦ −24.4◦ 30.4◦

C-B 135◦ 156.2◦ 21.2◦ 86.8◦ 48.2◦

C-A −150◦ −142.7◦ 7.3◦ −118.3◦ 31.7◦

D-C −175◦ −158.1◦ 16.9◦ −201.4◦ 26.4◦

calculation error. This turns out to be advantageous to the algorithm because adding edge B−E

makes the whole network biconnected in one move as shown in Figs. 3.26,3.27.

The average bearing error for the best and worst trials in the 5 robot experiment were similar

- 18.58◦ and 28◦.Fig. 3.26(bottom) is the biconnected robot network. Across the five trials, it was

approximately 24.32◦.

Our initial tests also indicate that the turn angle error is below 10◦ and odometry error is

between 10−20% of the commanded distance on average.

74

Figure 3.26: Initial five robot network (top) and final biconnected network (bottom)

75

Figure 3.27: Initial configuration (left) and a trial illustrating biconnectivity with five robots inone move (right)

Figure 3.28: Trial with five robots

76

Table 3.4: Two trials (best and worst) from five trialsTrial 1 Trial 2

Edge Actual Measured Bearing Measured bearingangle angle(T1) error(T1) angle(T2) error(T2)

C-D 5◦ 9.3◦ 4.3◦ −12.4◦ 17.4◦

C-B 120◦ 148.1◦ 28.1◦ 166.8◦ 46.8◦

C-A −160.0◦ −147.2◦ 12.8◦ −129.1◦ 30.9◦

D-C 170◦ 202.5◦ 32.5◦ 148.2◦ 21.8◦

D-E −30◦ −18.3◦ 11.7◦ −4.3◦ 25.7◦

E-D 150◦ 172.1◦ 22.1◦ 175.4◦ 25.4◦

3.7.2 Network Connectivity and Coverage

We experimentally evaluate the benefits of achieving biconnectivity. Specifically, we measure the

increase in average data throughput from each robot. Table 3.5 shows the increase in average data

throughput averaged over the five trials for both the four robot network and the five robot network.

For the four robot network we see an increase of 9.3% and for the five robot network we see an

increase of 17%. We conjecture that the large increase in the 5-node network case is mainly due

to the decrease in the average path length of the network. Wireless introduces decrease in data

throughput for every hop and decrease in the number of hops correspondingly results in increase

in the throughput along that path.

Table 3.5: Average data throughput (five trials)Num nodes before(MB/s) after(MB/s)

4 0.97 1.075 0.785 .955

The next measure of connectivity is the packet delivery ratio. We implemented a UDP server

and client on all robots. The client sends 10k packets with time interval 100ms to the server that

it is commanded to. The server monitors the sequence number of the packets and records which

packets were received and which ones were lost. Before and after our algorithm runs, we run this

77

tool on every robot in the network. This gives us a packet delivery ratio along each path and the

effect of our algorithm on the packet delivery ratio.

As shown in Table 3.6, the packet delivery ratio goes up by 2.3% in the 4 robot case and

about 10% in the 5 robot case. As illustrated in Sec. 3.6, one of the tradeoffs in achieving robust

Table 3.6: Packet delivery ratio(five trials)Num nodes Packet delivery before Packet delivery after

4 0.92 0.9415 0.85 0.934

connectivity is coverage. We calculate the area of the convex hull of the network and use that as

a measure of the coverage of the network. Table 3.7 shows the reduction in the average coverage

for both the 4 robot and 5 robot experiments. The 4 robot network area decreases 33% on average

whereas the 5 robot network area decreases approximately 40%. The variance in results for the 5

robot network is higher (depending on whether one robot moves or two robots move as explained

in the previous subsection).

Table 3.7: Coverage of biconnectivity (five trials)Number of Coverage before Coverage after Variance

nodes (sq.m.) (sq.m.) (5 trials)4 9.0 6.0 0.265 9.6 5.8 2.3

The simulations of the previous section suggest that large errors in turn angle might cause our

algorithm to terminate without a solution. However, the iRobot Creates are reasonably accurate

in performing in-place turns (< 10◦) error. Similarly, the odometry error is small over short

distances (under 10%).

While it is desirable to use the available radio for bearing (not using an extra sensor), this

comes with some downsides. Our tests indoor showed that near walls and close to glass doors the

78

radio signal strength behavior is quite unpredictable due to multipath and reflections. It is difficult

to discern the signal strength gradient in such scenarios. Also, sampling in the eight directions

while moving reasonable distances might not be possible in constricted hallways. These caveats

notwithstanding we believe the experiments demonstrate both the feasibility and resilience of the

algorithm on a physical testbed.

79

3.8 Discussion

Below, we briefly address potential questions about our design rationale that might arise in the

mind of the reader.

Since the algorithm is a heuristic, is it likely to really work ?

We provide evidence to suggest that the algorithm is feasible, efficient and resilient. This is done

as follows:

• We first show that the optimal solution in terms of shortest distance traveled in the simpli-

fied planar graph case is NP-hard even when global localization is available.

• We also show that the algorithm (in the disk model) uses the minimal number of moves to

achieve biconnectivity.

• Lastly, we are motivated by real world constraints and use as few sensors as we can to

provide input to our algorithm. This constrains our ability to design more sophisticated

algorithms. Our approach is tolerant to significant inaccuracy in the relative bearing com-

putation and and does not rely on localization.

How can a simple heuristic solve an NP-hard problem efficiently ?

The proposed algorithm is minimal in the number of robot moves and not the distance moved by

the robots. The number of moves are proved to be minimal only under the disk communication

model and the assumption that each move results in the addition of a single edge to the network.

The algorithm not benchmarked against other solutions

To the best of our knowledge, ours is the first solution that actively uses mobility to form a bi-

connected robot network. [1] is the closest to our work but their algorithm tests for biconnectivity

80

and incrementally maintains biconnectivity when new nodes are added to an already biconnected

network. We evaluate our performance in terms of the coverage and connectivity impact which

are generic measures and most often the two parameters that are to be optimized. We also situate

the work in the context of prior theoretical work on k-connectivity.

The algorithm seems to work only in open spaces. What happens when there are obsta-

cles?

Signal strength in indoor environments can vary significantly due to obstacles. Preliminary ex-

periments show that the performance of the relative bearing computation inside cluttered environ-

ments is approximately 20% worse when compared to open space and arbitrarily worse when the

robots are closer to walls and/or not in line of sight. However, our biconnectivity algorithm has

no particular dependence on signal strength. Given any bearing sensor, the algorithm will execute

as expected (alongwith some robot code for obstacle avoidance which is relatively standard). We

distinguish the functioning of the algorithm from the implementation which is based on signal

strength.

3.9 Conclusions

In this chapter, we define the robot network biconnectivity (RNB) problem and prove that the

planar version of the decision problem is NP-hard. We propose an algorithm that uses robot mo-

bility to transform an initially connected robot network into a biconnected network. We prove

that the number of movements this algorithm commands is the minimum number required to es-

tablish biconnectivity subject to an edge being created as the result of every robot move. The

algorithm does not require robots to be localized. It uses relative bearing angles between robots

81

to compute motion commands and is resilient to noise in bearing measurement, robot odometry

and robot turn angle inaccuracies. Extensive simulations suggest that the algorithm functions cor-

rectly when bearing error is as high as approximately 25◦. Robustness to bearing angle estimates

leads us to believe that we could use a relatively noisy bearing sensor. We show the applica-

bility of commodity radios to obtain bearing information suitable for this application (bearing

measurement using zigbee radios has an average error of between 20−25◦). Our biconnectivity

algorithm improves robot network connectivity by increasing the number of vertex-disjoint paths

between robots by approximately 60%. This comes at a cost - the network coverage area reduces

by approximately 33%. Experiments on a real robot network validate the correctness of our al-

gorithm. The algorithm improves the packet reception rate in the network by 5−8% on average

while showing an improvement of approximately 12% in throughput.

82

Chapter 4

Route Stability in Robot Networks

4.1 Introduction

Robot networks have been used in various cooperative multi-robot tasks like target tracking [49,

44], mapping [43], distributed surveillance [81] or scoring goals in a game of robot soccer [31].

Significant research effort has been expended in the control of a network of robots for achieving

formations [69], coverage [58] and network topology [21, 73] etc. A basic requirement in these

algorithms is that the network of robots be connected and form a graph i.e. the network links

(and routes) be stable with time. This is non-trivial since the routing protocol used to establish

the routes has a behavioral aspect to itself. Most routing protocols are unaware of the mobile

nature of the network and attempt to optimize the end to end packet delivery mechanism. The

routing protocol is not concerned with the stability of the routes that it chooses as long as a

reliable path exists from source to destination. If the graph provided by the routing algorithm is

to be used for control, we need to bridge this gap and make the routing protocol more stable.

83

4.1.1 Motivating Example

Consider the robot network shown in Fig. 4.1. The nodes are moving as shown by the arrows

on each node. Node F has a choice of three edges (F −C,F −D,F −E) to communicate with

node B if the routing metric is shortest hop-distance. However, from the direction of motion of

each robot, it is clear that route F −C−B is poor since nodes B and C are moving in opposite

directions. Routes F −D−B and F −E −B are similar, but closer perusal tells us that route

F −E−B is likely to be most stable. Knowledge of direction of motion (more generally, speed

and direction) and location of the neighboring robots can be used to make this distinction.

Figure 4.1: Sample network illustrating route instability

84

4.2 Related Work

Connectivity in a network of robots or multi-agent systems has received close attention recently.

4.2.1 Connectivity Control

Study of algebraic graph theory has given us some fundamental insights into connectivity in

mobile/robot networks. [52] proposed the problem of maximizing the second smallest eigen

value of the Laplacian matrix which closely follows the connectivity of the network. [21] use an

exponential decay model for the connection between nodes and study a potential based control

law to improve connectivity among multiple agents in a network in a decentralized fashion. [109]

propose a novel control decomposition that is a hybrid of nearest neighbor potential fields to

maintain existing links and coordination on the abstract topology to optimize global routes in

a decentralized fashion thereby guaranteeing connectivity in the network assuming the network

was connected to start with. A detailed study of the underlying graph theoretic concepts and

algebraic analysis can be found in [9].

4.2.2 Topology Control in Mobile Adhoc Networks

[59] proposes a cone-based topology control algorithm under ideal radio transmission model

based on the directionality of the neighbors. The claim is that if there is a neighbor in every 5π/6

cone, network connectivity is guaranteed throughout the network. They also propose further

optimizations to reduce the transmit power while maintaining connectivity. [73] generalize this

concept and propose Neighbor-Every-Theta graphs (NET graphs). Their result is that the con-

nectivity is b2π

θc when the maximum angle between adjacent neighbors is less than θ . This result

85

holds for irregular radio models as well. The literature in topology control in mobile networks

has been studied in detail in [80].

4.2.3 Location Aware Routing

[53] proposed location-aided routing in mobile adhoc networks. Using position information to

improve reactive routing in adhoc networks. The basic idea is to use knowledge of where a node

was at a given time to do targeted flooding instead of flooding throughout the network to discover

a route to it. Using an extensive study with imperfect information [53] achieves good performance

while reducing the amount of control traffic required to find a route to the destination. Our work

is closest to [53] in principle; the key distinction is that we are attempting to achieve stability in

routing as opposed to minimizing the control traffic or achieving better routes.

4.3 Stability Cues

As mentioned earlier, stable routes are essential in robot networks. Our idea is to provide direction

and location cues to the routing protocol to better choose the most stable route. However, each cue

has to be broadcast in the local neighborhood and is additional overhead to the control data being

passed around for the routing protocol. We first study directional cues, followed by a combination

of locational and directional cues. We will explain the exact metric calculated in both the cases

in the following subsections.

Fig. 4.1 showed an example robot network to illustrate our motivation. As mentioned in

Sec. 4.1.1, a standard adhoc routing protocol that optimizes the hop-distance could choose any of

86

Figure 4.2: Stability metric for direction cue

F−C−B, F−D−B or F−E−B as a route from node F to node B, but an examination of node

velocities suggests that route F−E−B is likely superior to the others.

4.3.1 Direction Cue

The basic idea is to share the velocity of movement with the one-hop neighbors. The neighbors

of each robot estimate the difference in direction w.r.t to themselves in terms of angular offset.

This is translated into a number which we call the stability metric. This stability metric is shown

in Fig. 4.2. We approximate the angular difference between the directions of motion of the robots

(ranging from 0-180◦) using a number between 1-8. This is the stability of the link. The higher

the stability metric, the more stable the link. The stability metric is chosen to be symmetric about

the direction of travel of the robot because the rate of separation of the robots on either side is the

same. We can do better if we add location information (as illustrated in Sec. 4.3.2).

From our earlier example in Fig. 4.1 routes F −D−B and F −E −B have the same value

of the stability metric since the difference in angle between robot B and robots D and E is the

same. Either one of them is better than the route F−C−B and can be chosen when we just have

87

Figure 4.3: Stability values derived from the direction cue in sample robot network

the direction cue. This is illustrated in Fig. 4.3. We have super-positioned the direction vector of

B on nodes C, D and E for ease of understanding. The angular difference between the direction

vectors C and B is 170◦. Hence, B−C is given a stability metric value of 1. Angular difference

between direction vectors of B and D is 90◦. Hence, B−D is given a stability metric value of 4.

Similarly, B−E is given a stability metric value of 4.

4.3.2 Position Cue

The second cue that can be given to the routing protocol is the location of the robot. In combi-

nation with the direction, this can give us an accurate estimate of how long the link will last. We

propose this as the stability metric when both cues are available.

Fig. 4.4 shows the same robot network from our earlier example. Let robots F,B,D,E be

at positions (x f ,y f ), (xb,yb), (xd ,yd) and (xe,ye) respectively. Let their respective velocities be

v f ,vb,vd and ve. Given the instantaneous velocities, we can compute the relative velocity between

88

Figure 4.4: Stability values derived from location and direction cue in sample network

the robot pairs (B, D) and (B, E). Given the radius of communication for node B (say R), we can

predict link duration associated with each of the links B−D and B− E as the time taken to

travel the distance (d1 and d2 respectively) given their velocity such that they go out of the range

of communication of robot B (assuming a simple disc model for the radio). We consider the

duration of the existence of the link as its stability metric.

4.4 Modifying OLSR

We choose Optimized Link State Routing (OLSR) [16] as the routing protocol to implement our

idea. We first describe the protocol and then our additions to the protocol.The additions made for

both direction cues and location cues are very similar.

89

4.4.1 Protocol Details

OLSR is a link state routing protocol with some optimizations built in to decrease the flooding of

control messages. The protocol maintains the following information repositories.

• Multiple Interface Association information base is for networks where nodes have more

than one local network interface.

• Link information base has information about the links of the current node.

• Neighbor information base has information about the neighbors with symmetric links

• 2-Hop Neighbor information base has a set of 2-hop neighbors of the current node that

have symmetric links with the neighbor set of this node

• MPR information base is the set of neighbors that are chosen as relays for the control

messages sent by the current node. This is the chief optimization in OLSR.

All these information bases are built by broadcasting hello and topology control messages.

We add a direction information base to this list to store the direction information of neighbors. For

the location cues, we add a location information base. Let us assume that robot A received a hello

message from its neighbor robot B. A stores the direction of B in a direction tuple corresponding

to B. It then computes a stability metric w.r.t the direction of robot B and stores this value in

the link information base. When node A sends out its hello messages, it adds this stability value

along with the neighbor interface addresses to tell every neighbor how stable its link is with that

neighbor. Location augmentation happens in a similar fashion. The hello message augmentation

is shown in Fig. 4.5.

90

(a) Direction (b) Location

Figure 4.5: Hello message augmentation

91

We add a stability parameter to the 2-hop neighbor base. Every time a robot receives a hello

message, it updates its information bases correspondingly. The additional function we add is to

update the link stability value in the 2-hop neighbor base. This information is used in the routing

table computation.

Lastly, we add a stability value to the topology control base and the topology control mes-

sages that are exchanged throughout the network. Whenever a node receives a topology control

message, it updates its stability value to be the minimum of the stability values of that route and

the stability value of the link to the robot that forwarded this message.

4.4.2 Routing Table Computation

From [16], the routing table computation occurs every time there is a modification to any of the

local information bases. We modify step 3 of [16] where the routing table computation is based

on the 2-hop neighbors. Instead of picking the first neighbor that has a link to the 2-hop neighbor

we run through the list of neighbors to pick the neighbor with the highest stability metric as the

next hop to route to that 2-hop neighbor. If there was a prior route to this 2-hop destination, we

only pick a new route if the stability value is below a certain minimum threshold.

We also modify the step 3.1 of [16] where routes are calculated/updated based on the topology

control information base. Similar to the 2-hop case, we only modify a route if the stability value

of that path has fallen below a minimum threshold.

92

4.5 Simulation results

We studied the performance of our algorithm in ns-2 - a network simulator([8]). We used the

OLSR implementation from the University of Murcia, Spain [79] and modified it as described in

the previous section.

4.5.1 Simulation Setup

We deploy robots in a 500x500 area. We vary the number of robots to vary the connectivity

in the network. Mobility of the robots is assumed to be using the random way point mobility

model. Each robot assumes a random direction motion and a uniformly distributed random speed

between 0 and max speed. We vary this max speed to study the effect of the speed of movement

on route stability. We average each result shown over ten iterations. The propagation model for

the channel is assumed to be two ray ground. We set the transmit and receive thresholds so as

to have a communication of approximately 50 units. The metric we measure is the difference in

route switches. We calculate this as a percentage of the number of route switches in the basic

OLSR protocol. This gives us a good measure of how much our cues are helping in stabilizing

the routing. We vary the max speed of travel and the number of nodes in the system.

4.5.2 Results

Fig. 4.6 shows us the results when we just use directional cues. Fig. 4.6(a) shows the effect of

density on route stability. As the network becomes denser, the number of possible choices for

routes is higher and our cues help pick the more stable route. From our simulations, we can get

an average of up to 10% fewer route switches. Further increase in density does not necessarily

improve the route stability by much. Fig. 4.6(b) shows the effect of change in max speed of robot

93

travel on route stability. The faster robots can move, the lesser the benefit of the directional cues.

This is expected since the routes last for much smaller durations when the robots are moving

faster. Choosing one route over another has little benefit if the robots are moving rapidly. The

benefit rapidly deteriorates and in networks where the robots are moving at high speeds, there is

little benefit in using directional cues.

Fig. 4.7 is a graph illustrating the benefits of providing both positional and directional cues.

With both these pieces of information, we can more accurately determine the stability of a link.

This results in better choice for the routes and correspondingly more stable routes. This is shown

in Fig. 4.7(a) and Fig. 4.7(b). We can achieve up to an average of 20% fewer route switches with

both these cues.

4.5.3 Effect of Error

We introduced error in the announced direction of motion and position for robots to understand

the repercussions of inaccurate localization and direction information. We introduce additive

white Gaussian noise with a standard deviation of a percentage of the radius of communication

for both the ’x’ and ’y’ for position error. For direction error, the error introduced is additive

white Gaussian noise with a percentage of each component as the standard deviation.

The effect of error is shown in Fig. 4.8. Fig. 4.8(a) shows the effect when only positional error

is introduced. The x-axis shows the percentage error as described above. The effect of position

error is minimal on the route stability.

However, the effect of direction error is significant. From Fig. 4.8(b), the benefit of the cues

rapidly falls off with increase in direction error. This is understandable as the direction is the

primary basis of our calculations in picking a more stable route. Fig. 4.9 and Fig. 4.10 show the

94

-2

0

2

4

6

8

10

12

14

16

18

10 15 20 25 30 35 40 45 50 55

Per

cent

age

decr

ease

in r

oute

sw

itchi

ng

Number of nodes

0.5 m/s5.0 m/s

(a) Density vs. route switching

-2

0

2

4

6

8

10

12

14

16

18

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5

Per

cent

age

decr

ease

in r

oute

sw

itchi

ng

Max speed of travel (m/s)

10 nodes50 nodes

(b) Speed of travel vs. route switching

Figure 4.6: Effect of density and speed of movement on route stability (direction cue only)

95

0

5

10

15

20

25

10 15 20 25 30 35 40 45 50 55

Per

cent

age

decr

ease

in r

oute

sw

itchi

ng

Number of nodes

0.5 m/s5.0 m/s

(a) Density vs. route switching

0

5

10

15

20

25

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5

Per

cent

age

decr

ease

in r

oute

sw

itchi

ng

Max speed of travel (m/s)

10 nodes50 nodes

(b) Speed of travel vs. route switching

Figure 4.7: Effect of density and speed of movement on route stability (direction and locationcues)

96

0

5

10

15

20

25

0 5 10 15 20 25 30 35

Per

cent

age

decr

ease

in r

oute

sw

itchi

ng

Percentage of radius of communication added as error (AWGN Error)

Direction CueDirection + Position Cue

(a) Route switching with location error only (error added is zero mean Gaussian noise withstandard deviation of a percentage of the radius of communication as shown on x-axis)

0

5

10

15

20

25

0 5 10 15 20 25 30 35

Per

cent

age

decr

ease

in r

oute

sw

itchi

ng

Percentage of radius of communication added as error (AWGN Error)

Direction CueDirection + Position Cue

(b) Route switching with direction error only (error added is zero mean Gaussian noise withstandard deviation of a percentage of the velocity components in each of the x and y directions)

Figure 4.8: Effect of error on route stability (Number of nodes=50, max speed=0.5 m/s)

97

effect of 10% direction error on various settings for max speed and density. Route stability goes

down a little as is to be expected with the introduction of error.

4.5.4 Discussion

Directional cues on their own appear to give us about 2-8% decrease in route switching. If we

want to achieve better stability, we will need localization of the robots in a global frame. This is

a more stringent constraint and needs additional sensors like GPS or some external mechanism

using which we can accurately position the robots. However, it is promising that by providing

simple cues we can stabilize routing and reduce route switching by up to one-fifth.

We have studied OLSR which is a pro-active routing protocol. We envision that we will get at

least similar and possibly better results on a reactive routing protocol. This is because there is no

constant state being maintained in all the nodes in reactive routing protocols. If a route is broken,

the source has to reissue a route request and discover the path again. If position and direction

information of neighbors is available, the robot whose edge was disconnected could find a route

to the neighor that just got disconnected instead of having to re-discover the whole path.

4.6 Conclusions

In this chapter, we identify the problem of route stability in robot networks. We suggest direc-

tional and positional cues as information that can be used by the routing protocol to achieve more

stable routes. We have incorporated our idea into OLSR, a popular routing protocol for wireless

networks. We show the exact changes needed to be made to the routing protocol to instanti-

ate our idea. Our preliminary investigation shows that providing directional and positional cues

98

-2

0

2

4

6

8

10

12

14

16

10 15 20 25 30 35 40 45 50 55

Per

cent

age

decr

ease

in r

oute

sw

itchi

ng

Number of nodes

0.5 m/s5.0 m/s

(a) Density vs. route switching

-2

0

2

4

6

8

10

12

14

16

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5

Per

cent

age

decr

ease

in r

oute

sw

itchi

ng

Max speed of travel (m/s)

10 nodes50 nodes

(b) Speed of travel vs. route switching

Figure 4.9: Effect of error (direction cue only): error added is zero mean Gaussian noise withstandard deviation of 10% percentage of the velocity components in each of the x and y directions

99

-5

0

5

10

15

20

25

10 15 20 25 30 35 40 45 50 55

Per

cent

age

decr

ease

in r

oute

sw

itchi

ng

Number of nodes

0.5 m/s5.0 m/s

(a) Density vs. route switching

-5

0

5

10

15

20

25

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5

Per

cent

age

decr

ease

in r

oute

sw

itchi

ng

Max speed of travel (m/s)

10 nodes50 nodes

(b) Speed of travel vs. route switching

Figure 4.10: Effect of error (direction and location cue): error added is zero mean Gaussian noisewith standard deviation of 10% percentage of the velocity components in each of the x and ydirections

100

are beneficial in stabilizing routing. We can achieve up to 20% fewer route switches using both

directional and positional information.

Our instantiation of OLSR makes changes to the way routes are calculated. This is in direct

conflict with route optimality. Our future work is going to investigate how we can ameliorate

this conflict and choose the best possible routes (for any routing metric) while providing stable

routes for other purposes like connectivity and topology control. Another future work is to test

this routing in real robot networks and evaluate the benefit.

101

Chapter 5

Conclusions

Sensor networks are assisting our understanding of the real world. Designing such networks is

however riddled with many challenges. Such networks are deployed in unpredictable conditions

that require them to adapt. They are deployed for long periods of time implying efficient operation

of each node. This thesis examines reconfiguration as a means of adaptation in sensor networks.

Particularly, we explore the use of mobility as a reconfiguration tool in sensor networks.

In static sensor networks, we envision reconfiguration of functions in the individual nodes

of the network as a way to enhance the lifetime and performance of the network. In order to

accomplish this, the services essential for the network functionality need to be able to reconfigure

themselves. We adapted a classic distributed optimziation algorithm to redesign system services

e.g., localization and routing in a tiered sensor network. This system trades off communication

for computation and achieves comparable results to the centralized formulation in the limit. We

studied its working in both simulation and experiment to demonstrate its feasibliity. Our sim-

ulations indicate that the distributed formulation is within 10% of the centralized solution for

connectivity-based localization after ten iterations.

102

If the nodes in the network are mobile, we can reconfigure the position of the individual

nodes to enhance the functionality of the network. We presented an algorithm to use mobility in

the network to improve connectivity. Specifically, we used mobility to systematically improve a

connected network to a biconnected network. Our first contribution was to show that it is NP-hard

to design an algorithm that optimally recofigures the nodes (where optimality is defined as the

sum total distance moved by the robots). Our second contribution was to design a distributed al-

gorithm that is optimal in the number of moves made. Our algorithm uses relative bearing, which

is a local measurement. A third contribution was the use of signal strength from commodity ra-

dios on simple robots to estimate coarse relative bearing. Finally, we evaluated our algorithms in

both simulation and experiment and showed the improvement in terms of end-end throughput and

connectivity in the robot network. However, mobility adversely affects routing in such networks.

This is partly because the conventional routing algorithms do not know that the nodes are mobile.

We explore providing directional and positional cues to the routing algorithm to improve stabil-

ity and reduce route oscillations. Our reference implementation on OLSR showed that we could

achieve upto 20% improvement in route stability even in dynamic networks with such cues.

103

Publications

Thesis-related

1. Karthik Dantu, and Gaurav S. Sukhatme. Biconnected robot networks In Submission,Transactions on Robotics, October 2009.

2. Karthik Dantu and Gaurav S. Sukhatme. Per-Process Energy Accounting: HandlingAsynchrony in Embedded Systems In submission, Dec 2009.

3. Karthik Dantu and Gaurav S. Sukhatme. Connectivity vs. control: Using directionaland positional cues to stabilize routing in robot networks. In International Conference onRobot Communication and Coordination (ROBOCOMM), April 2009.

4. Karthik Dantu, Prakhar Goyal, and Gaurav S. Sukhatme. Relative bearing estimationfrom commodity radios. In Proceedings of International Conference of Robotics andAutomation (ICRA), May 2009.

5. Jesse Butterfield, Karthik Dantu, Brian P. Gerkey, Odest C. Jenkins, and Gaurav S. Sukhatme.Autonomous biconnected networks of mobile robots. In IEEE Workshop on Wireless Mul-tihop Communications in Networked Robotics (WMCNR), Apr 2008.

6. Dustin McIntire, Timothy Chow, Karthik Dantu, Mansi Shah, Thanos Stathapoulos, Gau-rav S. Sukhatme, William J. Kaiser The Low Power Energy Aware Processing (LEAP)Software Applications - Poster and Demonstration, In IPSN-SPOTS ’07: Proceedings ofthe 5th international conference on Information processing in sensor networks.

7. Karthik Dantu and Gaurav S. Sukhatme. Detecting and tracking level sets of scalarfields using a robotic sensor network. In IEEE International Conference on Robotics andAutomation (ICRA), pages 3665–3672, Apr 2007.

8. Karthik Dantu and Gaurav S. Sukhatme. Rethinking data-fusion based services in tieredsensor networks. In IEEE Emnets ’06: Third Workshop on Embedded Networked Sensors,May 2006.

9. Karthik Dantu, Mohammad H. Rahimi, Hardik Shah, Sandeep Babel, Amit Dhariwal, andGaurav S. Sukhatme. Robomote: enabling mobility in sensor networks. In IPSN-SPOTS’05: Proceedings of the 5th international conference on Information processing in sensornetworks.

Other

10. Anand Joshi, Mi Zhang, Ritesh Kadmawala, Karthik Dantu, Sameera Poduri, and GauravS. Sukhatme OCRdroid: A Framework to Digitize Text Using Mobile Phones In ICSTInternational Conference on Mobile Computing, Applications and SErvices (MobiCASE),October 2009

104

11. Avinash Parnandi, Ken Le, Pradeep Vaghela, Aalaya Kolli, Karthik Dantu, Sameera Po-duri and Gaurav S. Sukhatme, “Coarse In-Building Localization with Smartphones”, toappear in ICST International Workshop on Innovative Mobile User Interactivity (IMUI’09) alongwith MobiCASE 2009, October 2009, San Diego, USA.

12. Dheeraj Kota, Neha Laumas, Urmila Shinde, Saurabh Sonalkar, Karthik Dantu, SameeraPoduri and Gaurav S. Sukhatme, “deSCribe: A Personalized Tour Guide and NavigationalAssistant”, to appear in ICST International Workshop on Innovative Mobile User Interac-tivity (IMUI ’09) alongwith MobiCASE 2009, October 2009, San Diego, USA.

13. John Caffrey, Ramesh Govindan, Erik Johnson, Bhaskar Krishnamachari, Sami Masri,Gaurav S. Sukhatme, Krishna K. Chintalapudi, Karthik Dantu, Sumit Rangwala, AvinashSridharan, Ning Xu, and Marco Zuniga. Networked sensing for structural health monitor-ing. In International Workshop of Structural Control Jun 2004.

14. Krishna Chintalapudi, Jeongyeup Paek, Omprakash Gnawali, Tat S. Fu, Karthik Dantu,John Caffrey, Ramesh Govindan, Erik Johnson, and Sami Masri. Structural damage detec-tion and localization using netshm. In IPSN-SPOTS ’06: Proceedings of the 5th interna-tional conference on Information processing in sensor networks.

15. Morteza Maleki, Karthik Dantu and Massoud Pedram, “Lifetime Prediction Routingin Mobile Adhoc Networks”, in International Wireless Communications and NetworkingConference (WCNC ’02), pp 1185–1190, March 2003.

16. Kihwan Choi, Karthik Dantu, Wei-Chung Cheng and Massoud Pedram, “Frame-basedDynamic Voltage and Frequency Scaling for a MPEG Decoder”, in IEEE/ACM Interna-tional Conference on Computer-Aided Design (ICCAD ’02), pp 732–737, September 2002,San Jose, USA.

17. Morteza Maleki, Karthik Dantu and Massoud Pedram, “Power-aware Source RoutingProtocol for Mobile Adhoc Networks”, in International Symposium on Low Power Elec-tronics and Design (ISLPED ’02), pp 72–75, May 2002, Monterey, USA.

18. Mohammad H. Rahimi, Rohit Mediratta, Karthik Dantu, and Gaurav S. Sukhatme. Atestbed for experiments with sensor/actuator networks. Technical report, Institute forRobotics and Intelligent Systems Technical Report IRIS-02-417, 2002.

105

Reference List

[1] Mazda Ahmadi and Peter Stone. Biconnected structure for multi-robot systems. In The

Twenty-First Conference on Artificial Intelligence (AAAI), 2006.

[2] A. Arora, P. Dutta, S. Bapat, V. Kulathumani, H. Zhang, V. Naik, V. Mittal, H. Cao,

M. Demirbas, and M. Gouda et al. Abstract — Full Text + Links — Anonymous. A

line in the sand: a wireless sensor network for target detection, classification, and tracking.

Computer Networks (Amsterdam, Netherlands: 1999), 46(5):605–634, December 2004.

[3] Nuzhet Atay and Burchan Bayazit. Mobile wireless sensor network connectivity repair

with k-redundancy. In Workshop on Algorithmic Foundations for Robotics, 2008.

[4] Paramvir Bahl and Venkata N. Padmanabhan. RADAR: An in-building RF-based user

location and tracking system. In INFOCOM, pages 775–784, December 05 2000.

[5] Tucker Balch, Ronald C. Arkin, and Senior Member. Behavior-based formation control for

multi-robot teams. IEEE Transactions on Robotics and Automation, 14:926–939, 1999.

[6] Maxim A. Batalin, Mohammad Rahimi, Yan Yu, Duo Liu, Aman Kansal, Gaurav S.

Sukhatme, William J. Kaiser, Mark Hansen, Gregory J. Pottie, Mani Srivastava, and Deb-

orah Estrin. Call and response: experiments in sampling the environment. In SenSys ’04:

106

Proceedings of the 2nd international conference on Embedded networked sensor systems,

pages 25–38, New York, NY, USA, 2004. ACM.

[7] Pratik Biswas, Tzu-Chen Lian, Ta-Chung Wang, and Yinyu Ye. Semidefinite program-

ming based algorithms for sensor network localization. Transactions of Sensor Networks,

2(2):188–220, 2006.

[8] Lee Breslau, Deborah Estrin, Kevin Fall, Sally Floyd, John Heidemann, Ahmed Helmy,

Polly Huang, Steven McCanne, Kannan Varadhan, Ya Xu, and Haobo Yu. Advances in

network simulation. Computer, 33(5):59–67, 2000.

[9] F. Bullo, J. Cortes, and S. Martınez. Distributed Control of Robotic Networks. Applied

Mathematics Series. Princeton University Press, 2009. To appear. Electronically available

at http://coordinationbook.info.

[10] Nirupama Bulusu, John Heidemann, Deborah Estrin, and Tommy Tran. Self-configuring

localization systems: Design and experimental evaluation. Trans. on Embedded Comput-

ing Sys., 3(1):24–60, 2004.

[11] Y. Uny Cao, Alex S. Fukunaga, and Andrew B. Kahng. Cooperative mobile robotics:

Antecedents and directions. Auton. Robots, 4(1):7–27, 1997.

[12] Alberto Cerpa, Jeremy Elson, Michael Hamilton, Jerry Zhao, Deborah Estrin, and Lewis

Girod. Habitat monitoring: application driver for wireless communications technology.

In SIGCOMM LA ’01: Workshop on Data communication in Latin America and the

Caribbean, pages 20–41, New York, NY, USA, 2001. ACM.

107

[13] E.J.H. Chang. Echo algorithms: Depth parallel operations on general graphs. IEEE Trans-

actions on Software Engineering, 8(4):391–401, 1982.

[14] Jae-Hwan Chang and Leandros Tassiulas. Maximum lifetime routing in wireless sensor

networks. volume 12, pages 609–619, Piscataway, NJ, USA, 2004. IEEE Press.

[15] Krishna Chintalapudi, Ramesh Govindan, Gaurav Sukhatme, and Amit Dhariwal. Ad-hoc

localization using ranging and sectoring. In INFOCOM, 2004.

[16] T. Clausen and P. Jacquet. Optimized link state routing protocol (olsr). RFC 3626, October

2003.

[17] Niklaus Correll, Jonathan Bachrach, Daniel Vickery, and D. Daniela Rus. Ad-hoc wireless

network coverage with networked robots that cannot localize. In International Conference

on Robotics and Automation (ICRA ’09), 2009.

[18] J. Cortes, S. Martinez, T. Karatas, and F. Bullo. Coverage control for mobile sensing

networks. IEEE Transactions on Robotics and Automation, 20(2):243255, 2004.

[19] Karthik Dantu, Prakhar Goyal, and Gaurav S. Sukhatme. Relative bearing estimation

from commodity radios. In IEEE International Conference on Robotics and Automation

(ICRA), May 2009. (To appear).

[20] Karthik Dantu, Mohammad Rahimi, Hardik Shah, Sandeep Babel, Amit Dhariwal, and

Gaurav S. Sukhatme. Robomote: enabling mobility in sensor networks. In IPSN ’05:

Proceedings of the 4th international symposium on Information processing in sensor net-

works, page 55, Piscataway, NJ, USA, 2005. IEEE Press.

108

[21] M.C. De Gennaro and A. Jadbabaie. Decentralized control of connectivity for multi-agent

systems. In 45th IEEE Conference on Decision and Control, pages 3628–3633, Dec. 2006.

[22] Lance Doherty, Kristofer S. J. Pister, and Laurent El Ghaoui. Convex optimization meth-

ods for sensor node position estimation. In INFOCOM, pages 1655–1663, 2001.

[23] Prabal Dutta, Mike Grimmer, Anish Arora, Steven Bibyk, and David Culler. Design of

a wireless sensor network platform for detecting rare, random, and ephemeral events. In

IPSN ’05: Proceedings of the 4th international symposium on Information processing in

sensor networks, page 70, Piscataway, NJ, USA, 2005. IEEE Press.

[24] Cheng Tien Ee, Rodrigo Fonseca, Sukun Kim, Daekyeong Moon, Arsalan Tavakoli, David

Culler, Scott Shenker, and Ion Stoica. A modular network layer for sensorsets. In OSDI

’06: Proceedings of the 7th symposium on Operating systems design and implementation,

pages 249–262, Berkeley, CA, USA, 2006. USENIX Association.

[25] Jeremy Elson, Lewis Girod, and Deborah Estrin. Fine-grained network time synchroniza-

tion using reference broadcasts. In OSDI ’02: Proceedings of the 5th symposium on Oper-

ating systems design and implementation Due to copyright restrictions we are not able to

make the PDFs for this conference available for downloading, pages 147–163, New York,

NY, USA, 2002. ACM.

[26] Deborah Estrin, David Culler, Kris Pister, and Gaurav Sukhatme. Connecting the physical

world with pervasive networks. IEEE Pervasive Computing, 1(1):59–69, 2002.

[27] Kapali P. Eswaran and Robert Endre Tarjan. Augmentation problems. SIAM Journal of

Computing, 5(4):653–665, 1976.

109

[28] Kai-Wei Fan, Sha Liu, and Prasun Sinha. Structure-free data aggregation in sensor net-

works. IEEE Transactions on Mobile Computing, 6(8):929–942, 2007.

[29] Christian Frank and Kay Romer. Algorithms for generic role assignment in wireless sensor

networks. In Jason Redi, Hari Balakrishnan, and Feng Zhao, editors, SenSys, pages 230–

242. ACM, 2005.

[30] Greg N. Frederickson and Joseph Ja’Ja’. Approximation algorithm algorithms for several

graph augmentation problems. SIAM Journal on Computing, 10(2):270–283, May 1981.

[31] D.G. Sorrenti G. Lakemeyer, E Sklar and T. Takahashi. RoboCup 2006 Robot Soccer

World Cup X. Springer, 2006.

[32] Saurabh Ganeriwal, Ilias Tsigkogiannis, Hohyun Shim, Vlassios Tsiatsis, Mani B. Sri-

vastava, and Deepak Ganesan. Estimating clock uncertainty for efficient duty-cycling in

sensor networks. IEEE/ACM Transactions on Networking, 17(3):843–856, June 2009.

[33] Jie Gao, Leonidas Guibas, Nikola Milosavljevic, and John Hershberger. Sparse data aggre-

gation in sensor networks. In IPSN ’07: Proceedings of the 6th international conference

on Information processing in sensor networks, pages 430–439, New York, NY, USA, 2007.

ACM.

[34] Brian P. Gerkey and Maja J Matari. Sold!: Auction methods for multi-robot coordination.

IEEE Transactions on Robotics and Automation, 18(5):758768, October 2002.

[35] Brian P. Gerkey, Richard T. Vaughan, and Andrew Howard. The Player/Stage project:

Tools for Multi-Robot and distributed sensor systems. In Proceedings of the International

Conference on Advanced Robotics, pages 317–323, Coimbra, Portugal, July 2003.

110

[36] Brian P. Gerkey, Richard T. Vaughan, Kasper Stoy, Andrew Howard, Gaurav S. Sukhatme,

and Maja J. Mataric. Most valuable player: A robot device server for distributed control.

In IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages

1226 – 1231, 2001.

[37] Omprakash Gnawali, Ki-Young Jang, Jeongyeup Paek, Marcos Vieira, Ramesh Govindan,

Ben Greenstein, August Joki, Deborah Estrin, and Eddie Kohler. The tenet architecture for

tiered sensor networks. In SenSys ’06: Proceedings of the 4th international conference on

Embedded networked sensor systems, pages 153–166, New York, NY, USA, 2006. ACM

Press.

[38] Andy Harter, Andy Hopper, Pete Steggles, Andy Ward, and Paul Webster. The anatomy of

a context-aware application. In Proceedings of the Fifth Annual ACM/IEEE International

Conference on Mobile Computing and Networking (MobiCom-99, pages 59–68, N.Y., Au-

gust 15–20 1999. ACM Press.

[39] Tian He, Chengdu Huang, Brian M. Blum, John A. Stankovic, and Tarek F. Abdelzaher.

Range-free localization schemes for large scale sensor networks. In MOBICOM, pages

81–95, 2003.

[40] Tian He, Sudha Krishnamurthy, Liqian Luo, Ting Yan, Lin Gu, Radu Stoleru, Gang Zhou,

Qing Cao, Pascal Vicaire, John A. Stankovic, Tarek F. Abdelzaher, Jonathan Hui, and

Bruce Krogh. Vigilnet: An integrated sensor network system for energy-efficient surveil-

lance. ACM Trans. Sen. Netw., 2(1):1–38, 2006.

111

[41] Jeffrey Hightower and Gaetano Borriello. Location systems for ubiquitous computing.

Computer, 34(8):57–66, August 2001. This article is also excerpted in “IT Roadmap to

a Geospatial Future,” a 2003 report from the Computer Science and Telecommunications

Board of the National Research Council.

[42] Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, and Kristofer Pister.

System architecture directions for networked sensors. In ASPLOS-IX: Proceedings of the

ninth international conference on Architectural support for programming languages and

operating systems, pages 93–104, New York, NY, USA, 2000. ACM.

[43] Andrew Howard. Multi-robot simultaneous localization and mapping using particle filters.

International Journal of Robotics Research, 25(12):1243–1256, 2006.

[44] Andrew Howard, Lynne E. Parker, and Gaurav S. Sukhatme. Experiments with large het-

erogeneous mobile robot team: Exploration, mapping, deployment and detection. Inter-

national Journal of Robotics Research, 25(5):431–447, May 2006.

[45] Bret Hull, Vladimir Bychkovsky, Yang Zhang, Kevin Chen, Michel Goraczko, Allen Miu,

Eugene Shih, Hari Balakrishnan, and Samuel Madden. Cartel: a distributed mobile sensor

computing system. In SenSys ’06: Proceedings of the 4th international conference on

Embedded networked sensor systems, pages 125–138, New York, NY, USA, 2006. ACM.

[46] Chalermek Intanagonwiwat, Ramesh Govindan, and Deborah Estrin. Directed diffusion:

A scalable and robust communication paradigm for sensor networks. In Proceedings of the

6th Annual International Conference on Mobile Computing and Networking (MOBICOM-

00), pages 56–67, N. Y., August 6–11 2000. ACM Press.

112

[47] Xiaofan Jiang, Jay Taneja, Jorge Ortiz, Arsalan Tavakoli, Prabal Dutta, Jaein Jeong, David

Culler, Philip Levis, and Scott Shenker. An architecture for energy management in wire-

less sensor networks. SIGBED Rev., 4(3):31–36, 2007.

[48] Christine E. Jones, Krishna M. Sivalingam, Prathima Agrawal, and Jyh Cheng Chen. A

survey of energy efficient network protocols for wireless networks. Wirel. Netw., 7(4):343–

358, 2001.

[49] Boyoon Jung and Gaurav S. Sukhatme. Tracking targets using multiple robots: The effect

of environment occlusion. Autonomous Robots, 13(3):191–205, Nov 2002.

[50] G. Kant and H. L. Bodlaender. Planar graph augmentation problems. In Frank Dehne,

Joerg-Ruediger Sack, and Nicola Santoro, editors, Proceedings of Algoritms and Data

Structures (WADS ’91), volume 519 of LNCS, pages 286–298, Berlin, Germany, August

1991. Springer.

[51] Samir Khuller and Ramakrishna Thurimella. Approximation algorithms for graph aug-

mentation. Journal of Algorithms, 14(2):214–225, 1993.

[52] Yoonsoo Kim and M. Mesbahi. On maximizing the second smallest eigenvalue of a state-

dependent graph laplacian. Automatic Control, IEEE Transactions on, 51(1):116–120,

Jan. 2006.

[53] Young-Bae Ko and Nitin H. Vaidya. Location-aided routing (lar) in mobile ad hoc net-

works. Wirel. Netw., 6(4):307–321, 2000.

[54] Bhaskar Krishnamachari. Networking Wireless Sensors. Cambridge University Press,

2005.

113

[55] Chris Paredis L. E. Navarro Serment, Robert Grabowski and Pradeep Khosla. Millibots.

IEEE Robotics & Automation Magazine, pages 31 – 40, December 2002.

[56] Koen Langendoen and Niels Reijers. Distributed localization in wireless sensor networks:

a quantitative comparison. Comput. Networks, 43(4):499–518, 2003.

[57] Phil Levis, David Gay, Vlado Handziski, Jan-Heinrich Hauer, Ben Greenstein, Martin

Turon, Jonathan Hui, Kevin Klues, Cory Sharp, Robert Szewczyk, Joseph Polastre, Philip

Buonadonna, Lama Nachman, Gilman Tolle, David Culler, and Adam Wolisz. T2: A sec-

ond generation os for embedded sensor networks. Technical report, Telecommunication

Networks Group, Technische Universitat Berlin, May 2007.

[58] K. Li and J. Baillieul. Problems in decentralized sensor-actuator networks. In Decision

and Control, 2005 and 2005 European Control Conference. CDC-ECC ’05. 44th IEEE

Conference on, pages 3207–3212, Dec. 2005.

[59] Li Li, J.Y. Halpern, P. Bahl, Yi-Min Wang, and R. Wattenhofer. A cone-based distributed

topology-control algorithm for wireless multi-hop networks. Networking, IEEE/ACM

Transactions on, 13(1):147–159, Feb. 2005.

[60] Qun Li and Daniela Rus. Global clock synchronization in sensor networks. IEEE Trans.

Comput., 55(2):214–226, 2006.

[61] Alan Mainwaring, Joseph Polastre, Robert Szewczyk, David Culler, and John Anderson.

Wireless sensor networks for habitat monitoring. In ACM International Workshop on Wire-

less Sensor Networks and Applications, Atlanta GA, USA, September 2002.

114

[62] Miklos Maroti, Peter Volgyesi, Sebestyen Dora, Kusye Branislav, Andras Nadas, Akos

Ledeczi, Gyorgy Balogh, and Karoly Molnar. Radio interferometric geolocation. In Sen-

Sys ’05: Proceedings of the 3rd international conference on Embedded networked sensor

systems, pages 1–12, New York, NY, USA, 2005. ACM Press.

[63] Dustin McIntire, Kei Ho, Bernie Yip, Amarjeet Singh, Winston Wu, and William J. Kaiser.

The low power energy aware processing (leap)embedded networked sensor system. In

IPSN ’06: Proceedings of the 5th international conference on Information processing in

sensor networks, pages 449–457, New York, NY, USA, 2006. ACM.

[64] N. Michael, J. Fink, and V. Kumar. Experimental testbed for large multi-robot teams: Ver-

ification and validation. IEEE Robotics and Automation Magazine, 15(1):53–61, March

2008.

[65] N. Michael, M.M. Zavlanos, V. Kumar, and G.J. Pappas. Distributed multi-robot task

assignment and formation control. In Robotics and Automation, 2008. ICRA 2008. IEEE

International Conference on, pages 128–133, May 2008.

[66] Nestor Michelena and Panos Papalambros. A hypergraph framework for optimal model-

based decomposition of design problems. Computational Optimization and Applications,

8:173–196, 1997.

[67] Nestor Michelena, Hyungju A. Park, Panos Papalambros, and Devadatta Kulkarni. Hier-

archical overlapping coordination for large-scale optimization by decomposition, June 29

1999.

115

[68] David Moore, John Leonard, Daniela Rus, and Seth J. Teller. Robust distributed network

localization with noisy range measurements. In SenSys ’04: Proceedings of the 2nd In-

ternational conference on Embedded networked sensor systems, pages 50–61, August 26

2004.

[69] N. Moshtagh, N. Michael, A. Jadbabaie, and K. Daniilidis. Bearing-only control laws for

balanced circular formations of ground robots. In Proceedings of Robotics: Science and

Systems, Zurich, Switzerland, June 2008.

[70] Suman Nath, Phillip B. Gibbons, Srinivasan Seshan, and Zachary Anderson. Synopsis

diffusion for robust aggregation in sensor networks. ACM Trans. Sen. Netw., 4(2):1–40,

2008.

[71] Monica N. Nicolescu and Maja J. Mataric. A hierarchical architecture for behavior-based

robots. In AAMAS ’02: Proceedings of the first international joint conference on Au-

tonomous agents and multiagent systems, pages 227–233, New York, NY, USA, 2002.

ACM.

[72] Dragos Niculescu. Positioning in ad hoc sensor networks. IEEE Network, 18(4):24–29,

2004.

[73] Sameera Poduri, Sundeep Pattem, Bhaskar Krishnamachari, and Gaurav S. Sukhatme. Us-

ing local geometry for tunable topology control in sensor networks. IEEE Transactions on

Mobile Computing, Feb 2009.

116

[74] Joe Polastre, Robert Szewczyk, and David Culler. Telos: enabling ultra-low power wire-

less research. In IPSN/SPOTS 2005: Proceedings of Fourth International Symposium on

Information Processing in Sensor Networks, 2005., pages 364–369, April 2005.

[75] Joseph Polastre, Robert Szewczyk, and David E. Culler. Telos: enabling ultra-low power

wireless research. In International Conference on Information Processing in Sensor Net-

works (IPSN), pages 364–369, 2005.

[76] G. J. Pottie and W. J. Kaiser. Wireless integrated network sensors. Commun. ACM,

43(5):51–58, 2000.

[77] Nissanka B. Priyantha, Anit Chakraborty, and Hari Balakrishnan. The cricket location-

support system. In MobiCom ’00: Proceedings of the 6th annual international conference

on Mobile computing and networking, pages 32–43, New York, NY, USA, 2000. ACM

Press.

[78] Joshua Reich, Vishal Misra, and Dan Rubenstein. Roomba madnet: a mobile ad-hoc delay

tolerant network testbed. ACM Sigmobile, MC2R: Mobile Computing and Communica-

tions Review, 2008.

[79] Fransisco Ros. Um-olsr: Reference olsr implementation from u-m, 2005.

[80] Paolo Santi. Topology Control in Wireless Ad Hoc and Sensor Networksk. Wiley, 2005.

[81] M. Saptharishi, C. Spence Oliver, C.P. Diehl, K.S. Bhat, J.M. Dolan, A. Trebi-Ollennu,

and P.K. Khosla. Distributed surveillance and reconnaissance using multiple autonomous

atvs: Cyberscout. Robotics and Automation, IEEE Transactions on, 18(5):826–836, Oct

2002.

117

[82] Andreas Savvides, Wendy Garber, Sachin Adlakha, Randolph L. Moses, and Mani B.

Srivastava. On the error characteristics of multihop node localization in ad-hoc sensor

networks. In Feng Zhao and Leonidas J. Guibas, editors, Proceedings of International

Symposium on Information Processing in Sensor Networks (IPSN), volume 2634 of Lec-

ture Notes in Computer Science, pages 317–332. Springer, 2003.

[83] Andreas Savvides, Chih-Chieh Han, and Mani B. Srivastava. Dynamic fine-grained local-

ization in ad-hoc networks of sensors. In International Conference on Mobile Computing

and Networking (MOBICOM), pages 166–179, 2001.

[84] J. B. SAXE. Embeddability of weighted graphs in k-space is strongly NP-hard. In Proc.

17th Allerton Conf. in Communications, Control, and Computing, pages 480–489, 1979.

[85] M. Schwager, D. Rus, and J. J. Slotine. Decentralized, adaptive coverage control for

networked robots. International Journal of Robotics Research, 28(3):357–375, March

2009.

[86] Jonas Schwertfeger, Daniel Hartmann, Mark Buller, and Odest Chadwicke Jenkins. The

smurv robotics platform, Sep 2008.

[87] John S Seybold. Introduction to RF Propagation. Wiley-Interscience, September 2005.

[88] Rahul C. Shah, Sumit Roy, Sushant Jain, and Waylon Brunette. Data MULEs: modeling

and analysis of a three-tier architecture for sparse sensor networks. Ad Hoc Networks,

1(2-3):215–233, 2003.

[89] Yi Shang, Wheeler Ruml, Ying Zhang, and Markus Fromherz. Localization from mere

connectivity. In Proceedings of the 4th ACM International Symposium on Mobile Ad Hoc

118

Networking and Computing (MOBIHOC-03), pages 201–212, New York, June 1–3 2003.

ACM Press.

[90] Gyula Simon, Miklos Maroti, Akos Ledeczi, Gyorgy Balogh, Branislav Kusy, Andras

Nadas, Gabor Pap, Janos Sallai, and Ken Frampton. Sensor network-based countersniper

system. In SenSys ’04: Proceedings of the 2nd international conference on Embedded

networked sensor systems, pages 1–12, New York, NY, USA, 2004. ACM.

[91] Ryan N. Smith, Jnaneshwar Das, Hordur Heidarsson, Arvind A. Pereira, Filippo Ar-

richiello, Ivona Cetinic, Lindsay Darjany, Marie-Eve Garneau, Meredith D. Howard, Carl

Oberg, Matthew Ragan, Erica Seubert, Ellen C. Smith, Beth Stauffer, Astrid Schnetzer,

Gerardo Toro-Farmer, David A. Caron, Burton H. Jones, and Gaurav S. Sukhatme. The

usc center for integrated networked aquatic platforms (cinaps): Observing and monitoring

the southern california bight. IEEE Robotics and Automation Magazine, 2010. Special

Issue on Marine Robotic Systems.

[92] National Research Council Staff. Embedded Everywhere: A Research Agenda for Net-

worked Systems of Embedded Computers. National Academy Press, Washington, DC,

USA, 2001.

[93] Radu Stoleru, Tian He, John A. Stankovic, and David Luebke. A high-accuracy, low-

cost localization system for wireless sensor networks. In SenSys ’05: Proceedings of the

3rd international conference on Embedded networked sensor systems, pages 13–26, New

York, NY, USA, 2005. ACM Press.

119

[94] Radu Stoleru, Pascal Vicaire, Tian He, and John A. Stankovic. Stardust: a flexible archi-

tecture for passive localization in wireless sensor networks. In SenSys ’06: Proceedings

of the 4th international conference on Embedded networked sensor systems, pages 57–70,

New York, NY, USA, 2006. ACM Press.

[95] Ethan Stump, Ali Jadbabaie, and Vijay Kumar. Connectivity management in mobile robot

teams. In ICRA, pages 1525–1530. IEEE, 2008.

[96] Gaurav S. Sukhatme, Amit Dhariwal, Bin Zhang, Carl Oberg, Beth Stauffer, and David A.

Caron. The design and development of a wireless robotic networked aquatic microbial

observing system. Environmental Engineering Science, 2006.

[97] Gaurav S. Sukhatme and Maja J. Mataric. Embedding robots into the internet. Communi-

cations of the ACM, 43(5):67–73, 2000.

[98] Robert Szewczyk, Alan Mainwaring, Joseph Polastre, John Anderson, and David Culler.

An analysis of a large scale habitat monitoring application. In SenSys ’04: Proceedings of

the 2nd international conference on Embedded networked sensor systems, pages 214–226,

New York, NY, USA, 2004. ACM Press.

[99] Robert E. Tarjan. Depth-first search and linear graph algorithms. SIAM Journal of Com-

puting, 1(2):146–160, June 1972.

[100] O. Tekdas and V. Isler. Robotic routers. In Proc. IEEE Int. Conf. on Robotics and Automa-

tion, 2008. to appear.

120

[101] O. Tekdas, N. Karnad, and Volkan Isler. Efficient strategies for collecting data from

wireless sensor network nodes using mobile robots. In 14th International Symposium

on Robotics Research (ISRR), 2009.

[102] Sebastian Thrun, Wolfram Burgard, and Dieter Fox. A probabilistic approach to concur-

rent mapping and localization for mobile robots. Auton. Robots, 5(3-4):253–271, 1998.

[103] Upkar Varshney. Pervasive healthcare and wireless health monitoring. Mobile Networks

and Applications, 12(2-3):113–127, 2007.

[104] Roy Want, Andy Hopper, Veronica Falcao, and Jonathan Gibbons. The active badge loca-

tion system. ACM Transactions on Information Systems, 10(1):91–102, January 1992.

[105] Geoff Werner-Allen, Konrad Lorincz, Jeff Johnson, Jonathan Lees, and Matt Welsh. Fi-

delity and yield in a volcano monitoring sensor network. In OSDI ’06: Proceedings of the

7th symposium on Operating systems design and implementation, pages 381–396, Berke-

ley, CA, USA, 2006. USENIX Association.

[106] Alec Woo, Terence Tong, and David Culler. Taming the underlying challenges of reliable

multihop routing in sensor networks. In SenSys ’03: Proceedings of the 1st international

conference on Embedded networked sensor systems, pages 14–27, New York, NY, USA,

2003. ACM.

[107] Ning Xu, Sumit Rangwala, Krishna Kant Chintalapudi, Deepak Ganesan, Alan Broad,

Ramesh Govindan, and Deborah Estrin. A wireless sensor network for structural mon-

itoring. In SenSys ’04: Proceedings of the 2nd international conference on Embedded

networked sensor systems, pages 13–24, New York, NY, USA, 2004. ACM Press.

121

[108] Mark Yarvis, Nandakishore Kushalnagar, Harkirat Singh, Anand Rangarajan, York Liu,

and Suresh Singh. Exploiting heterogeneity in sensor networks. In Proceedings of IEEE

INFOCOM 2005, March 2005.

[109] M.M. Zavlanos and G.J. Pappas. Distributed formation control with permutation symme-

tries. In Decision and Control, 2007 46th IEEE Conference on, pages 2894–2899, Dec.

2007.

[110] Pei Zhang, Christopher M. Sadler, Stephen A. Lyon, and Margaret Martonosi. Hardware

design experiences in zebranet. In SenSys ’04: Proceedings of the 2nd international con-

ference on Embedded networked sensor systems, pages 227–238, New York, NY, USA,

2004. ACM Press.

[111] Jerry Zhao and Ramesh Govindan. Understanding packet delivery performance in dense

wireless sensor networks. In SenSys ’03: Proceedings of the 1st International Conference

on Embedded Networked Sensor Systems, pages 1–13, 2003.

[112] W. Zhao, M. Ammar, and E. Zegura. A message ferrying approach for data delivery in

sparse mobile ad hoc networks. In MobiHoc ’04: Proceedings of the 5th ACM inter-

national symposium on Mobile ad hoc networking and computing, pages 187–198, New

York, NY, USA, 2004. ACM.

122


Recommended