Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Reconfiguration in sensor networks
(USC Thesis Other)
Reconfiguration in sensor networks
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
RECONFIGURATION IN SENSOR NETWORKS
by
Karthik Dantu
A Dissertation Presented to the
FACULTY OF THE USC GRADUATE SCHOOL
UNIVERSITY OF SOUTHERN CALIFORNIA
In Partial Fulfillment of the
Requirements for the Degree
DOCTOR OF PHILOSOPHY
(COMPUTER SCIENCE)
May 2010
Copyright 2010 Karthik Dantu
Dedication
To my parents, who have supported me to the fullest in every endeavor I have chosen. Thank
you for being my constant source of encouragement, cheering for me and having limitless faith
in me.
ii
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 hoped for. 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. My initial years of graduate life were spent working for Prof. Pedram who
introduced me to research. I am indebted to him for his confidence in me which motivated me to
get into research.
I have been lucky to have great friends throughout my life at USC. Ram has been a great
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
iii
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 AIS and were roommates for a couple of years. Gudda both in Citipark and
1024 brought his delhi-ness into the mix. Mansi and Hardik are people I got to know at the lab
but became great friends outside the lab as well. 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. Pankaj who has grown to become a good friend
over the last couple of years and my sounding board for all things non-academic. 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, Ryan, JD, Arvind, Chris, Hordur, Harsh, Megha,
Dave, Dylan, Eric, Emily and others that have shared the lab and borne my incessant mumbling
about football and politics amongst others.
As someone who is very social, I could not have spent 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.
iv
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.
v
Table of Contents
Dedication ii
Acknowledgements iii
List Of Tables ix
List Of Figures x
Abstract xiii
Chapter 1: Introduction 1
1.1 Introduction and Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Chapter 2: Reconfiguring Data-fusion Based Services in Tiered Sensor Networks 7
2.1 Introduction and Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Localization Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2 Mathematical Techniques . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.3 Connectivity-based Localization . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Localization Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1 Basic Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Hierarchical Overlapped Coordination . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.1 Simulation Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.2 Basic Algorithm Performance . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.3 Boundary Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5.4 Distributed Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.5 Physical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.6 Two Node Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6 Power-aware Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
vi
2.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Chapter 3: Robust Connectivity in Robot Networks 35
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Problem Definition and Complexity . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4 Algorithm: Connectivity to Biconnectivity . . . . . . . . . . . . . . . . . . . . . 41
3.4.1 Phase I: Computing Biconnected Components . . . . . . . . . . . . . . 41
3.4.2 Phase II: Movement Direction . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.3 Phase III: Sending Motion Commands . . . . . . . . . . . . . . . . . . . 46
3.4.4 Algorithm: Biconnectivity . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.5 Optimality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5 Bearing Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.5.1 Radio Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.5.2 Algorithm for bearing computation . . . . . . . . . . . . . . . . . . . . 53
3.5.3 Step Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5.4 Radio as a Bearing Sensor . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.6 Simulation Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.6.1 Robustness to Sensing and Actuation Noise . . . . . . . . . . . . . . . . 61
3.6.2 Network Connectivity and Coverage . . . . . . . . . . . . . . . . . . . . 65
3.6.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.7 Experiments with Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.7.1 Robustness to Sensing and Actuation Noise . . . . . . . . . . . . . . . . 72
3.7.2 Network Connectivity and Coverage . . . . . . . . . . . . . . . . . . . . 77
3.8 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Chapter 4: Route Stability in Robot Networks 83
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.1.1 Motivating Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2.1 Connectivity Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2.2 Topology Control in Mobile Adhoc Networks . . . . . . . . . . . . . . . 85
4.2.3 Location Aware Routing . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.3 Stability Cues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.3.1 Direction Cue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.3.2 Position Cue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.4 Modifying OLSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.4.1 Protocol Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.4.2 Routing Table Computation . . . . . . . . . . . . . . . . . . . . . . . . 92
4.5 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.5.1 Simulation Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.5.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.5.3 Effect of Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.5.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
vii
4.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Chapter 5: Conclusions 102
References 104
Appendix A
Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
A.1 Thesis-related . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
A.2 Other . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
viii
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
ix
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 to
it. 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 measured
by 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 of
the 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 articulation
points (right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
x
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
bear-
ing, 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
turn
angle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.20 Area of the convex hull of the network (Error=20% odometry, 20
bearing, 10
turn
angle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
xi
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 network
after 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 in
one 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 location
cues) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 with
standard deviation of 10% percentage of the velocity components in each of the
x and y directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.10 Effect of error (direction and location cue): error added is zero mean Gaussian
noise with standard deviation of 10% percentage of the velocity components in
each of the x and y directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
xii
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.
xiii
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.
xiv
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 [58, 101, 6, 94], safety and surveil-
lance [37, 86], personal health monitoring [99], structural health monitoring [103]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 [90, 80, 65] routing [43],
time synchronization [24, 31, 57], data aggregation [67, 32, 27] and formation control [66, 5, 62].
Numerous platforms have been built to instantiate this technology in real life [71, 60, 19, 22].
There have been a few software architectures proposed for sensor networks [39, 54, 34, 44, 23, ?,
68]. There have also been a number of field experiments to illustrate the utility of such networks
in practice [2, 103, 58, 37, 6, 94, 11, 87, 106, 101, 42]. Some of them are shown in Fig. 1.1.
1
(a) A volcano monitoring sensor network (b) Marine monitoring using a combination of surface water
and 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 [88, 25]. 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 [73]. Hence, generally it is a good choice to tradeoff
computation for communication and communication for movement.
Resource scarcity is another challenge [88]. 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 [73].
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 [93].
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 [34, 94] that most static sensor network deployments today are tiered.
In such networks, one way of achieving maximum lifetime is by using role assignment [28] 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 [94], James Reserve [11] the NAMOS deployment [92, 87], 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 [34].
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 [107]; there is evidence that they lead to longer lifetimes
when the master nodes are carefully placed [104]. 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 [43], 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 [65], beacons [10], or a super node [89, 90] 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 [38, 53, 51, 69].
2.2.1 Localization Systems
One of the first research initiatives into localization mechanisms was by [100] - the Active Badge
location system. The idea was to form a novel system for location of people in an office environ-
ment. [100] 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 [35]. 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 [74] 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 [80] 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 [59]. 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. [89] proposes
Spotlight, a localization scheme where nodes can be localized within 20 cm of actual location
12
in a deployed open area of 2500 m
2
. 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. [90] 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.
[21] 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. [85] frames localization as a multidimensional scaling (MDS) problem.
One of the known drawbacks of multihop methods like [80] are that ranging error gets pro-
pogated with the number of hops. This has been analyzed in works like [79]. [65] 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 [81]. 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 [74]. 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.
[14] 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.
[36] 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 (x
i
;y
i
) 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 -
q
(x
i
x
j
)
2
+(y
i
y
j
)
2
R8(i; j)2 Nand j2 A(i)
q
(x
k
x
j
)
2
+(y
k
y
j
)
2
> R8(k; j)2 Nand j = 2 A(k)
16
Let us assume that the rough initial estimates of the nodes are given by the vectors(X
PRE
;Y
PRE
).
We can formulate an optimization problem of the form
min(x
pre
i
x
i
)
2
+(y
pre
i
y
i
)
2
8(i; j)2 N
given
q
(x
i
x
j
)
2
+(y
i
y
j
)
2
R8 j2 A(i)
q
(x
k
x
j
)
2
+(y
k
y
j
)
2
> R8 j = 2 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 N
2
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 [64]. 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 X2 R
n
.
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 [63] to partition the graph and thereby rearrange this FDT
into a set of p
a
decoupled blocks. This is shown in Fig. 2.2. Each block corresponds to a sub-
problem.
The problem (denoteda) can be rewritten as
min f
a
0
(X
a
0
)+å
p
a
i=1
f
a
i
(X
a
0
,X
a
i
)
subject to h(X
a
0
,X
a
i
)= 0 i= 1,,p
a
18
Figure 2.2: Function dependence table rearranged
and g(X
a
0
,X
a
i
) 0 i= 1,,p
a
X
a
0
is the vector of linking variables. If we fixed the linking variables X
a
0
= d
a
, d
a
2 R
n
a
, then
we have p
a
problems of the form -
For each i= 1,,p
a
,
min
x
a
i
f
a
i
(d
a
,x
a
i
)
subject to
h
a
i
(d
a
,x
a
i
)= 0,
g
a
i
(d
a
,x
a
i
) 0,
Assume that we could perform another graph partitioning in a similar fashion and call that
problemb.
The HOC algorithm [64] is as follows:
1. Fix linking variables X
a
0
, and solve problem a by solving p
a
independent sub-problems
given above
19
2. Fix linking variables X
b
0
to their values as determined in step 1 and solve problem b by
solving p
b
independent problems.
3. Goto Step I with the fixed values ofa-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 [63]. 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 (a andb) that are needed in the optimization.
Figure 2.3: Partitioning in sensor networks. Each sensor picks the master that is closest to it. We
can 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 7
0
2
4
6
8
10
12
Average Degree
Average error in distance
Error vs. Degree
Figure 2.4: Decrease in localization error with increase in network connectivity (as measured by
average 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 [65], [80] 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 8
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
Average Degree
Error in distance
Error vs. Degree
Iteration 2
Iteration 5
Iteration 8
Iteration 12
Iteration 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 12
0
2
4
6
8
10
12
Boundary effects in Localization
Average degree of the whole network
Average degree of poorly localized nodes (err > threshold)
Error > R
Error > R/2
Error > R/3
Figure 2.7: Average degree of poorly localized nodes (err threshold) vs. average degree of the
network
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
Percentage error contributed 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 16
0
5
10
15
20
25
Iterations
Error in distance
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 [64], 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 16
0
5
10
15
20
25
Number of masters
Average localization error
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 17
6
8
10
12
14
16
18
Degree of network
Localization error
R=30
R=60
R=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
p
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 80
0
0.2
0.4
0.6
0.8
1
Distance in feet
Packet reception 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 [45] 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 B
i
. 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 E
i
for node i) which
depletes over time. Let each mote consume e
r
energy units to receive a packet and e
t
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 [13]. 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:i2B
j
q
( j;i)
+ Q=
å
j2S
i
q
(i; j)
8(i; j)2 A and for every i2 V
The lifetime of a node i is defined as
T
i
=
E
i
å
j2B
i
e
t
:q
(i; j)
+å
j2B
i
e
r
:q
( j;i)
The system lifetime is
T
system
= min(T
i
)8i= 1;:::;N
Our objective is to maximize T
system
. Hence the problem is of the form
maxT
system
such that
å
j:i2B
j
q
( j;i)
+ Q=
å
j2S
i
q
(i; j)
8(i; j)2 A and for every i2 V
q
(k;i)
= 08k2 Mand8i2 B
k
q
( j;i)
0
å
j2B
i
e
t
:q
(i; j)
+
å
j2B
i
e
r
:q
( j;i)
E
i
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 S
l
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 a = 1;:::;k
max T
a
system
such that
å
j:i2B
j
q
a
( j;i)
+ Q=
å
j2S
i
q
a
(i; j)
8(i; j)2 A and8i2 S
a
q
a
(k;i)= 08k2 M
q
a
( j;i)
08(i; j)2 A and8i2 S
a
å
j2B
i
e
t
:q
a
(i; j)
+
å
j2B
i
e
r
:q
a
( j;i)
E
i
8(i; j)2 A and8i2(S
a
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 [?]. This is true for tasks as diverse as target tracking [46, 98], surveil-
lance [78], mapping [40], or scoring goals in a game of robot soccer [30]. 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
relative bearing. Section 3.6 discusses results from simulations performed in the Player/Stage [?]
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 [49] that is provably convergent locally. In [20] a supergradient decen-
tralized algorithm and a potential-based control law is proposed to solve the same optimization
problem. In [105] 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. [91] 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. [17] 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.
[56] 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 5p=6 cone around itself for the
network to be connected. [70] extend this idea to achieve k-connectivity. They propose Neighbor
Every Theta (NET) graphs wherein every node is required to have a neighbor within q cone
around itself. They also derive the minimum suchq for a given value of k.
Mobility has also been used to improve connectivity by message ferrying( [108]), as data
mules( [84]) and as routers to better connectivity for users in urban settings( [96]). They have
37
also been used for data collection optimizing the distance traveled to minimize energy expendi-
ture [97].
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. [16] 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. [?] presents a distributed control law to
drive robots to an optimal sensing configuration. The algorithm is provably convergent and de-
centralized.
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 [95]. Connectivity aug-
mentation in graphs [29, 48] is studied as follows: Given a graph G(V;E) where E is a super set
of edges and E
0
2 E is a subset of edges what are the minimal number of edges to be added to
E
0
from E to make the graph k connected? The augmentation problem to go from a connected
graph to a biconnected graph is NP-hard [29]. 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 [48].
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;v2 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
0
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 [26].
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
0
be a superset of E (E2 E
0
). Deciding whether there exists a subset of edges in E
0
E, with
total cost F or less, which biconnect the vertices of V is NP-hard [26]. This is true even when G
is planar [47].
Robot Network Biconnectivity (RNB) problem: Consider a robot network graph G(V;E)
and its 2D embeddingf(x
i
;y
i
)j8i2 V;x
i
;y
i
2 Rg 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,8v2 V3 (x
v
;y
v
)2 R: E =f(u;v)j iff
p
(y
v
y
u
)
2
+(x
v
x
u
)
2
rg. 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 G
M
(V
M
;E
M
), 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 G
M
is biconnected?
Theorem 3.3.1. The RNB decision problem is NP-hard.
Proof. Assume G(V;E) is a planar graph and E
0
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)2 E
0
. 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 [47]. 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 [12]. 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 G
2
and its neighbors G and D are in
biconnected component G
1
.
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 G
1
and G
2
into a single
biconnected component. Given the initial locations of robots F and G, simple geometry would
be sufficient to compute goal locations F
0
and G
0
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 point
node 1
node2 Q1 Q2 Q3 Q4
Q1 -a
l
45
a
l
45
a
l
a
l
270
135
a
h
180
a
h
a
h
135
90
a
h
Q2 45
a
l
90
a
l
135
a
l
135
a
h
270
a
h
315
a
h
Q3 135
a
l
180
a
l
315
a
h
360
a
h
Q4 225
a
l
415
a
h
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
(p=4;3p=4;5p=4 and 7p=4). If the two neighbor robots are in adjacent quadrants (Fig. 3.2 left),
the move commands are quantized to be either horizontal (0;p) or vertical (p=2;3p=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. a
h
is the bearing that is the higher of the two nodes selected. a
l
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 is60
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: Articulation
point
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
3
3
1 , 2 , 3
A
B
C
D
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 E
are likely to disconnect (middle) and node A moves to make the connection (right)
3.4.4 Algorithm: Biconnectivity
3.4.5 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.
47
Theorem 3.4.1. Algorithm 1 makes the minimal number of moves to achieve biconnectivity.
Proof. Following [26] let v be any node in graph G. We can divide the edges of G into equivalence
classes E
i
such that two edges (x;y), (w;z) are in the same equivalence class if and only if there
is a path (v
1
;v
2
);;(v
k1
;v
k
) containing (x;y) and (w;z) but such that v
i
6= v for 2 i k 1.
Each equivalence class E
i
defines a subgraph G
i
= (V
i
;E
i
) of G. The subgraphs G
i
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 = maxfd(v)jv2 Vg
Theorem 6 from [26] 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> maxfd(v)jv2 Vg, 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 k1. 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 NETWORK
Require: Each node has an individual ID
Ensure: Every node has capability to find its neighbors
INIT: Initialize global state and individual data structures
PHASE-I
BICOMP: compute-biconnected-components()
PHASE-II
if I am an articulation point then
CALCULATE-ANGLE:
compute-nodes-and-direction()
Receive articulation point list, append cost and transmit to next articulation point
if list size == number of articulation point then
Pick articulation point with least cost
Transmit articulation point list to that articulation point
end if
end if
PHASE-III
if I am an articulation point with least cost then
Send move command to the node that costs the least
end if
if Node asked to be marked infeasible then
if We tested the other node and found it was infeasible also then
Mark this articulation point as infeasible
Goto Phase-II and transmit list to least expensive articulation point
end if
end if
if Made connection with node from different biconnected component then
Broadcast message to return to PHASE-I
Goto PHASE-I;
end if
MOVE:
if I received MOVE command then
Change frame of reference of angle commanded
while Links to my neighbors are not lost do
Move in commanded direction
if Made connection with other biconnected component or about to disconnect from a neighbor
then
break
end if
end while
if Cannot connect with other biconnected component then
Message AP to mark this node infeasible
end 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 [18].
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 [83].
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 [83]. 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.
Loss
dB
= P
t
P
r
= 20log
10
(d)+ 20log
10
( f)+ 32:44 (3.1)
where P
r
is the received power, P
t
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 [83].
L= L
0
+ 10g log
10
(d=d
0
)+ X
g
(3.2)
52
where L
0
is the path loss at the distance d
0
and X
g
is a Gaussian random variable with zero mean
and standard deviations that stands for shadow/slow fading.
Another popular model to represent indoor radio transmission is the ITU Indoor model.
L
dB
= 20log
10
f + N log
10
d+ L f(n) 28 (3.3)
where L
dB
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 [83]. 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, d
0
= 3:1,
L
0
= 9dB, L= 20dB,s = 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 l=2 (where l is the wavelength of the radio waves).
Our radios operate at 2:4GHz (l 12cm). We note that while our movements are small in the
size of the area of deployment, they are much larger than l=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 [107, 102]. 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
Error in bearing estimate (degrees)
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
Bearing error (degrees)
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 [33]. 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 network
59
0
20
40
60
80
100
0 10 20 30 40 50
Successful completion (%)
Bearing error (degrees)
16-node network
20-node network
25-node network
Figure 3.11: Effect of bearing error on algorithm success
0
20
40
60
80
100
0 10 20 30 40 50
Successful completion (%)
Odometry error
(%age of distance moved )
16-node network
20-node network
25-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 45
Successful completion (%)
Turn angle error (degrees)
16-node network
20-node network
25-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
Total distance traveled
Mean bearing error (degrees)
16-node network
20-node network
25-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
Total distance traveled
Odometry error
(%age of distance commanded)
16-node network
20-node network
25-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
Total distance traveled
Turn Angle error (degrees)
16-node network
20-node network
25-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
Average path length
Number of nodes in network
Initial Network
Biconnected Network
Figure 3.17: Average path lengths for networks of different sizes (Error=20% odometry, 20
bear-
ing, 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
Average number of paths
Number of nodes in network
Initial Network
Biconnected 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
Average number of
vertex-unique paths
Number of nodes in network
Initial Network
Biconnected Network
Figure 3.19: Average number of vertex-unique paths (Error=20% odometry, 20
bearing, 10
turn
angle)
67
0
100
200
300
400
500
600
16 20 25
Convex Hull area
(square units)
Bearing error (degrees)
Initial Network
Biconnected Network
Figure 3.20: Area of the convex hull of the network (Error=20% odometry, 20
bearing, 10
turn
angle)
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 25
Percentage area two-connected
(sq units)
Number of nodes in the network
Initial Network
Biconnected Network
Figure 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)
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 network
after 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 [33] 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 [72]. The
antenna was raised approximately 1m above the ground for better signal propagation. Our robot
testbed is similar to the MADNeT [75] and SmURV [82] 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 [52] use an array of infrared sensors while the Scarab robots [61] 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.3
5 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 [15] 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 case
Trial 1 Trial 2
Edge Actual Measured Bearing Measured bearing
angle 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 in
one move (right)
Figure 3.28: Trial with five robots
76
Table 3.4: Two trials (best and worst) from five trials
Trial 1 Trial 2
Edge Actual Measured Bearing Measured bearing
angle 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.07
5 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.941
5 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.26
5 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 [46,
41], mapping [40], distributed surveillance [78] or scoring goals in a game of robot soccer [30].
Significant research effort has been expended in the control of a network of robots for achieving
formations [66], coverage [55] and network topology [20, 70] 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 (FC;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 FC 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. [49] proposed the problem of maximizing the second smallest eigen
value of the Laplacian matrix which closely follows the connectivity of the network. [20] 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. [105]
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
[56] 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 5p=6
cone, network connectivity is guaranteed throughout the network. They also propose further
optimizations to reduce the transmit power while maintaining connectivity. [70] generalize this
concept and propose Neighbor-Every-Theta graphs (NET graphs). Their result is that the con-
nectivity isb
2p
q
c when the maximum angle between adjacent neighbors is less thanq. This result
85
holds for irregular radio models as well. The literature in topology control in mobile networks
has been studied in detail in [77].
4.2.3 Location Aware Routing
[50] 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 [50] achieves good performance
while reducing the amount of control traffic required to find a route to the destination. Our work
is closest to [50] 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
FCB, FDB or FEB 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 FC 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, BC 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
), (x
b
;y
b
), (x
d
;y
d
) and (x
e
;y
e
) respectively. Let their respective velocities be
v
f
;v
b
;v
d
and v
e
. 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 (d
1
and d
2
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) [15] 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 [15], the routing table computation occurs every time there is a modification to any of the
local information bases. We modify step 3 of [15] 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 [15] 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 [76] 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
Percentage decrease in route switching
Number of nodes
0.5 m/s
5.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
Percentage decrease in route switching
Max speed of travel (m/s)
10 nodes
50 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
Percentage decrease in route switching
Number of nodes
0.5 m/s
5.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
Percentage decrease in route switching
Max speed of travel (m/s)
10 nodes
50 nodes
(b) Speed of travel vs. route switching
Figure 4.7: Effect of density and speed of movement on route stability (direction and location
cues)
96
0
5
10
15
20
25
0 5 10 15 20 25 30 35
Percentage decrease in route switching
Percentage of radius of communication added as error (AWGN Error)
Direction Cue
Direction + Position Cue
(a) Route switching with location error only (error added is zero mean Gaussian noise with
standard 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
Percentage decrease in route switching
Percentage of radius of communication added as error (AWGN Error)
Direction Cue
Direction + Position Cue
(b) Route switching with direction error only (error added is zero mean Gaussian noise with
standard 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
Percentage decrease in route switching
Number of nodes
0.5 m/s
5.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
Percentage decrease in route switching
Max speed of travel (m/s)
10 nodes
50 nodes
(b) Speed of travel vs. route switching
Figure 4.9: Effect of error (direction cue only): error added is zero mean Gaussian noise with
standard 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
Percentage decrease in route switching
Number of nodes
0.5 m/s
5.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
Percentage decrease in route switching
Max speed of travel (m/s)
10 nodes
50 nodes
(b) Speed of travel vs. route switching
Figure 4.10: Effect of error (direction and location cue): error added is zero mean Gaussian noise
with standard deviation of 10% percentage of the velocity components in each of the x and y
directions
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
References
[1] Mazda Ahmadi and Peter Stone. Biconnected structure for multi-robot systems. In
AAAI’06: proceedings of the 21st national conference on Artificial intelligence, pages
1853–1854. AAAI Press, 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. A line in the sand: a wireless sensor network for tar-
get detection, classification, and tracking. Computer Networks, 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 ’00: IEEE International Conference on Com-
puter Communications, 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:
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. Cort´ es, and S. Mart´ ınez. Distributed Control of Robotic Networks. Ap-
plied Mathematics Series. Princeton University Press, 2009. 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.
104
[11] 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.
[12] E.J.H. Chang. Echo algorithms: Depth parallel operations on general graphs. IEEE Trans-
actions on Software Engineering, 8(4):391–401, 1982.
[13] Jae-Hwan Chang and Leandros Tassiulas. Maximum lifetime routing in wireless sensor
networks. volume 12, pages 609–619, Piscataway, NJ, USA, 2004. IEEE Press.
[14] Krishna Chintalapudi, Ramesh Govindan, Gaurav Sukhatme, and Amit Dhariwal. Ad-hoc
localization using ranging and sectoring. In INFOCOM ’04: IEEE International Confer-
ence on Computer Communications, 2004.
[15] T. Clausen and P. Jacquet. Optimized link state routing protocol (olsr). RFC 3626, October
2003.
[16] 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.
[17] 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.
[18] Karthik Dantu, Prakhar Goyal, and Gaurav S. Sukhatme. Relative bearing estimation from
commodity radios. In In Proceedings of ICRA ’09: IEEE International Conference on
Robotics and Automation (ICRA), May 2009.
[19] 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.
[20] 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.
[21] Lance Doherty, Kristofer S. J. Pister, and Laurent El Ghaoui. Convex optimization meth-
ods for sensor node position estimation. In INFOCOM ’01: IEEE Conference on Com-
puter Communications, pages 1655–1663, 2001.
[22] 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, pages 497–502, Piscataway, NJ, USA, 2005. IEEE Press.
[23] 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.
105
[24] 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 Op-
erating systems design and implementation, pages 147–163, New York, NY , USA, 2002.
ACM.
[25] Deborah Estrin, David Culler, Kris Pister, and Gaurav Sukhatme. Connecting the physical
world with pervasive networks. IEEE Pervasive Computing, 1(1):59–69, 2002.
[26] Kapali P. Eswaran and Robert Endre Tarjan. Augmentation problems. SIAM Journal of
Computing, 5(4):653–665, 1976.
[27] 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.
[28] Christian Frank and Kay R¨ omer. Algorithms for generic role assignment in wireless sen-
sor networks. In Jason Redi, Hari Balakrishnan, and Feng Zhao, editors, SenSys ’05:
Proceedings of the 2nd international conference on Embedded networked sensor systems,
pages 230–242. ACM, 2005.
[29] 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.
[30] D.G. Sorrenti G. Lakemeyer, E Sklar and T. Takahashi. RoboCup 2006 Robot Soccer
World Cup X. Springer, 2006.
[31] 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.
[32] 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.
[33] Brian P. Gerkey, Richard T. Vaughan, Kasper Stoy, Andrew Howard, Gaurav S. Sukhatme,
and Maja J. Matari´ c. 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.
[34] 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.
[35] 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.
106
[36] 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.
[37] 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.
[38] 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.
[39] 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.
[40] Andrew Howard. Multi-robot simultaneous localization and mapping using particle filters.
International Journal of Robotics Research, 25(12):1243–1256, 2006.
[41] 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.
[42] 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.
[43] 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.
[44] 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.
[45] 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.
[46] Boyoon Jung and Gaurav S. Sukhatme. Tracking targets using multiple robots: The effect
of environment occlusion. Autonomous Robots, 13(3):191–205, Nov 2002.
[47] 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
107
Structures (WADS ’91), volume 519 of LNCS, pages 286–298, Berlin, Germany, August
1991. Springer.
[48] Samir Khuller and Ramakrishna Thurimella. Approximation algorithms for graph aug-
mentation. Journal of Algorithms, 14(2):214–225, 1993.
[49] 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.
[50] Young-Bae Ko and Nitin H. Vaidya. Location-aided routing (lar) in mobile ad hoc net-
works. Wirel. Netw., 6(4):307–321, 2000.
[51] Bhaskar Krishnamachari. Networking Wireless Sensors. Cambridge University Press,
2005.
[52] Chris Paredis L. E. Navarro Serment, Robert Grabowski and Pradeep Khosla. Millibots.
IEEE Robotics & Automation Magazine, pages 31 – 40, December 2002.
[53] Koen Langendoen and Niels Reijers. Distributed localization in wireless sensor networks:
a quantitative comparison. Comput. Networks, 43(4):499–518, 2003.
[54] 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.
[55] 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.
[56] 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.
[57] Qun Li and Daniela Rus. Global clock synchronization in sensor networks. IEEE Trans.
Comput., 55(2):214–226, 2006.
[58] 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.
[59] Miklos Maroti, Peter V olgyesi, 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.
108
[60] 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.
[61] 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.
[62] 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.
[63] Nestor Michelena and Panos Papalambros. A hypergraph framework for optimal model-
based decomposition of design problems. Computational Optimization and Applications,
8:173–196, 1997.
[64] Nestor Michelena, Hyungju A. Park, Panos Papalambros, and Devadatta Kulkarni. Hier-
archical overlapping coordination for large-scale optimization by decomposition, June 29
1999.
[65] 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.
[66] 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.
[67] 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.
[68] Monica N. Nicolescu and Maja J. Matari´ c. 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.
[69] Dragos Niculescu. Positioning in ad hoc sensor networks. IEEE Network, 18(4):24–29,
2004.
[70] 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.
[71] 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.
109
[72] 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.
[73] G. J. Pottie and W. J. Kaiser. Wireless integrated network sensors. Commun. ACM,
43(5):51–58, 2000.
[74] 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.
[75] 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.
[76] Fransisco Ros. Um-olsr: Reference olsr implementation from u-m, 2005.
[77] Paolo Santi. Topology Control in Wireless Ad Hoc and Sensor Networksk. Wiley, 2005.
[78] 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.
[79] 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.
[80] 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.
[81] 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.
[82] Jonas Schwertfeger, Daniel Hartmann, Mark Buller, and Odest Chadwicke Jenkins. The
smurv robotics platform, Sep 2008.
[83] John S Seybold. Introduction to RF Propagation. Wiley-Interscience, September 2005.
[84] 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.
[85] 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
Networking and Computing (MOBIHOC-03), pages 201–212, New York, June 1–3 2003.
110
[86] Gyula Simon, Mikl´ os Mar´ oti,
´
Akos L´ edeczi, Gy¨ orgy Balogh, Branislav Kusy, Andr´ as
N´ adas, G´ abor Pap, J´ anos 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.
[87] 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.
[88] National Research Council Staff. Embedded Everywhere: A Research Agenda for Net-
worked Systems of Embedded Computers. National Academy Press, Washington, DC,
USA, 2001.
[89] 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.
[90] 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.
[91] Ethan Stump, Ali Jadbabaie, and Vijay Kumar. Connectivity management in mobile robot
teams. In ICRA, pages 1525–1530. IEEE, 2008.
[92] 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.
[93] Gaurav S. Sukhatme and Maja J. Mataric. Embedding robots into the internet. Communi-
cations of the ACM, 43(5):67–73, 2000.
[94] 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.
[95] Robert E. Tarjan. Depth-first search and linear graph algorithms. SIAM Journal of Com-
puting, 1(2):146–160, June 1972.
[96] O. Tekdas and V . Isler. Robotic routers. In In Proceedings of ICRA ’08: IEEE Interna-
tional Conference on Robotics and Automation, 2008.
111
[97] O. Tekdas, N. Karnad, and V olkan Isler. Efficient strategies for collecting data from
wireless sensor network nodes using mobile robots. In 14th International Symposium
on Robotics Research (ISRR), 2009.
[98] 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.
[99] Upkar Varshney. Pervasive healthcare and wireless health monitoring. Mobile Networks
and Applications, 12(2-3):113–127, 2007.
[100] 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.
[101] 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.
[102] 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.
[103] 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.
[104] Mark Yarvis, Nandakishore Kushalnagar, Harkirat Singh, Anand Rangarajan, York Liu,
and Suresh Singh. Exploiting heterogeneity in sensor networks. In INFOCOM ’05: IEEE
International Conference on Computer Communications, March 2005.
[105] 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.
[106] 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.
[107] 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.
[108] 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.
112
Appendix A
Publications
A.1 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: Handling
Asynchrony in Embedded Systems In submission, Dec 2009.
3. Karthik Dantu and Gaurav S. Sukhatme. Connectivity vs. control: Using directional
and positional cues to stabilize routing in robot networks. In International Conference on
Robot Communication and Coordination (ROBOCOMM), April 2009.
4. Karthik Dantu, Prakhar Goyal, and Gaurav S. Sukhatme. Relative bearing estimation
from commodity radios. In Proceedings of International Conference of Robotics and
Automation (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 of
the 5th international conference on Information processing in sensor networks.
7. Karthik Dantu and Gaurav S. Sukhatme. Detecting and tracking level sets of scalar
fields using a robotic sensor network. In IEEE International Conference on Robotics and
Automation (ICRA), pages 3665–3672, Apr 2007.
8. Karthik Dantu and Gaurav S. Sukhatme. Rethinking data-fusion based services in tiered
sensor 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, and
Gaurav S. Sukhatme. Robomote: enabling mobility in sensor networks. In IPSN-SPOTS
’05: Proceedings of the 5th international conference on Information processing in sensor
networks.
113
A.2 Other
10. Anand Joshi, Mi Zhang, Ritesh Kadmawala, Karthik Dantu, Sameera Poduri, and Gaurav
S. Sukhatme OCRdroid: A Framework to Digitize Text Using Mobile Phones In ICST
International Conference on Mobile Computing, Applications and SErvices (MobiCASE),
October 2009
11. Avinash Parnandi, Ken Le, Pradeep Vaghela, Aalaya Kolli, Karthik Dantu, Sameera Po-
duri and Gaurav S. Sukhatme, “Coarse In-Building Localization with Smartphones”, to
appear 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, Sameera
Poduri and Gaurav S. Sukhatme, “deSCribe: A Personalized Tour Guide and Navigational
Assistant”, 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, Avinash
Sridharan, 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 Routing
in Mobile Adhoc Networks”, in International Wireless Communications and Networking
Conference (WCNC ’02), pp 1185–1190, March 2003.
16. Kihwan Choi, Karthik Dantu, Wei-Chung Cheng and Massoud Pedram, “Frame-based
Dynamic V oltage 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 Routing
Protocol 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. A
testbed for experiments with sensor/actuator networks. Technical report, Institute for
Robotics and Intelligent Systems Technical Report IRIS-02-417, 2002.
114
Abstract (if available)
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Rate adaptation in networks of wireless sensors
PDF
Aging analysis in large-scale wireless sensor networks
PDF
Robust routing and energy management in wireless sensor networks
PDF
Adaptive sampling with a robotic sensor network
PDF
Language abstractions and program analysis techniques to build reliable, efficient, and robust networked systems
PDF
The interplay between networks and robotics: networked robots and robotic routers
PDF
Algorithmic aspects of throughput-delay performance for fast data collection in wireless sensor networks
PDF
Efficient and accurate in-network processing for monitoring applications in wireless sensor networks
PDF
Understanding and exploiting the acoustic propagation delay in underwater sensor networks
PDF
Distributed wavelet compression algorithms for wireless sensor networks
PDF
Compilation of data-driven macroprograms for a class of networked sensing applications
PDF
Towards interference-aware protocol design in low-power wireless networks
PDF
Dynamic routing and rate control in stochastic network optimization: from theory to practice
PDF
Mobility-based topology control of robot networks
PDF
Gradient-based active query routing in wireless sensor networks
PDF
Interaction and topology in distributed multi-agent coordination
PDF
Robust and efficient geographic routing for wireless networks
PDF
Analysis and countermeasures of worm propagations and interactions in wired and wireless networks
PDF
Techniques for efficient information transfer in sensor networks
PDF
On location support and one-hop data collection in wireless sensor networks
Asset Metadata
Creator
Dantu, Karthik
(author)
Core Title
Reconfiguration in sensor networks
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Computer Science
Publication Date
02/15/2010
Defense Date
01/19/2010
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
embedded systems,mobile sensor networks,mobile systems,OAI-PMH Harvest,robot networks,sensor networks,wireless sensor networks
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Sukhatme, Gaurav S. (
committee chair
), Govindan, Ramesh (
committee member
), Krishnamachari, Bhaskar (
committee member
)
Creator Email
dantu@usc.edu,dkkarthik@gmail.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-m2851
Unique identifier
UC1172198
Identifier
etd-Dantu-3495 (filename),usctheses-m40 (legacy collection record id),usctheses-c127-292111 (legacy record id),usctheses-m2851 (legacy record id)
Legacy Identifier
etd-Dantu-3495.pdf
Dmrecord
292111
Document Type
Dissertation
Rights
Dantu, Karthik
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Repository Name
Libraries, University of Southern California
Repository Location
Los Angeles, California
Repository Email
cisadmin@lib.usc.edu
Tags
embedded systems
mobile sensor networks
mobile systems
robot networks
sensor networks
wireless sensor networks