A MAC Protocol for Mobile Directional Antennas

advertisement
Rigidity-Based MDS – Localization and Refinement
(RB-MDS)
Johnny Yeh, Chandana Praneeth Wanigasekera
Department of Computer Science
Yale University
New Haven, CT
{johnny.yeh, praneeth}@yale.edu
ABSTRACT
The current thrust of computer science into the development
of sensor networks has spawned a corresponding thrust into
the sub-field of sensor-localization. A dearth of applications
may utilize the position of sensors in order to assist in
calculations, applications which have great potential to
expand in the future. However, whereas the applications of
localization have been easy to spot, the technique behind
calculating accurate values has presented an interesting
challenge to computer science. In particular, the process of
calculating sensor positions constitutes several stages which
must be integrated before effective resolution of the problem
can be achieved. The following paper is a discourse on the
matter. It will attempt to describe a system – implemented by
the authors – called Rigidity-Based MDS (RB-MDS).
1. INTRODUCTION
Sensor localizations represent a significant problem for sensor
networks.
Although sensors can communicate without
knowing the precise locations of their neighbors, such
knowledge allows for unique strategies such as geographic
routing. Also, absolute knowledge of node positions can
greatly assist in the utilization of nodes for research – perhaps
as a scanning network to study a geographic expanse.
In this vein, researchers have developed various
methods by which to isolate the position of nodes within a
network. Some research has been geared towards finding
graph rigidities, properties of networks which can help
determine whether or not localization is fully possible. Some
research has aimed at calculating the position estimates given
distances and beacons whose absolute values are known. And
other research has been designed to refine the calculations
once acquired. Essentially, scientists have attacked the
problem in a piecemeal manner, targeting various layers of
the process.
In this vein, RB-MDS seeks to combine several of
these layers into one cohesive process. Given accurate
distances within a certain sub-set of nodes and given the
position of several beacon nodes within the network, RBMDS should be able to return accurate approximations of
where the nodes lie in both a local coordinate system as well
as in the absolute coordinate system derived from the beacon
node locations.
RB-MDS actually consists of two sets of algorithms
running on two originally identical sets of data. When the
results for both of these algorithms are completed, the values
are combined to ensure the highest degree of accuracy. The
first process seeks to divide the network into regions based on
the rigidity of those regions. The second process does not
divide the network based on regions but seeks to solve for
node positions over the entire graph. When combined, these
results are surprisingly accurate.
2. SETTING UP RB-MDS
The process of running RB-MDS requires that certain
conditions be fulfilled before the running of the algorithm.
First, the process must begin by taking data in from a
topology file with the following format.
<no. of nodes> <no. of beacons> <radius> <X size> <Y size> <no. edges>
<x, y of beacon nodes>
<id of one node of an edge, id of the other node, edge length>
The data will be loaded into two identical data structures so
that the two processes can be run.
To ensure that all points that can have absolute
coordinates assigned are processed by the algorithm we have
to link each beacon to every other beacon on the graph with
edges, because every beacon edge is accurately known. RBMDS requires that new edges are drawn between all pairs of
beacons. Since the absolute positions of the beacons are
known, adding such edges is trivial and only requires the use
of Euclidean method. Adding such edges will help in the later
stages by further enhancing the rigidity of the graph.
2. THE FIRST PROCESS
The first process begins by dividing the network to separate
regions. This will assist in pinpointing accurate values. Two
characteristics are desirable in each region. First, a region
should be redundantly rigid. In order to achieve this, RBMDS runs an implementation of the pebble game on the data,
similar to the implementation described in [1]. This will
parcel out the network into regions of nodes. Each of these
regions will be labeled with a different values and each region
will be defined as redundantly rigid or not redundantly rigid
based on the results of the pebble game.
Second, each region should have within it at least
three beacon nodes. This is so that absolute positions can be
determined.
Without three beacon nodes, an absolute
coordinate system cannot be derived. As noted earlier, RBMDS connected all beacons with edges. Such an operation
would enhance the number of edges and thus raise the
probability that a redundantly rigid region encompasses many
more nodes than it otherwise would.
Afterwards, the overall network will have been
separated into redundant rigid regions as well as nonredundant rigid regions. The former are the only ones in
which RB-MDS can find accurate approximations of node
locations. The latter are thus not used in the forthcoming
steps.
After separating regions into redundant rigid and
non-redundant rigid, RB-MDS then runs the Floyd-Warshall
shortest paths algorithm on the one-hop distance matrix
provided by the initial input. This allows RB-MDS to
estimate the distances between any two nodes so long as there
is a path in the region between the two nodes.
RB-MDS then proceeds to run the MDS algorithm
on each of the regions. As explained in [2], the MDS
algorithm will calculate estimates of node positions given
distances between select nodes.
The MDS algorithm
eventually gives back pair-wise coordinates for the nodes in
the region in question.
The first process of RB-MDS finishes by running a
refinement algorithm on the results given by RB-MDS. The
refinement process consists of constructing equations based
on measured and calculated distances between nodes and then
using least squares method to solve for the equation as
explained in [3]. The refinement essentially attempts to
minimize the error in the location approximations of all of the
nodes. The refinement process makes a big difference in the
quality of the coordinates given by RB-MDS.
After refinement, RB-MDS combines approximated
positions of all nodes within a given region. Notice that
nodes not within a redundantly rigid region will not have their
positions calculated by the first process. Ultimately, RBMDS outputs the approximated positions of all nodes within
the redundantly rigid regions of the network.
2. THE SECOND PROCESS AND MERGING RESULTS
The second process is identical to the first except that it does
not separate the network into multiple regions. Rather it runs
the Floyd-Warshall algorithm, MDS, and refinement across
the entire graph. This returns a set of approximated node
positions over the entire graph (Which includes nonredundant rigid points which cannot be pinpointed with 100%
accuracy).
At this point, RB-MDS will attempt to merge the
graphs produced by the first and second processes. Realize
that the results from the first process are likely to be more
accurate than the results for the second process. This is
because the division between redundantly rigid regions and
non-redundantly rigid regions prevents deformations from
taking place across a certain sub-sect of nodes which are
guaranteed rigidity in localization. Yet in order to offer an
estimate of every node – regardless of its rigidity – the second
process results must be taken into account.
In merging the two results, RB-MDS will give
priority to the results returned by the first process – the more
accurate of the two. However, for all nodes that the first
process does not account for, RB-MDS will refer to the
results of the second process – which has returned every node
in the graph. The graph that RB-MDS creates upon output is
test.output, found in the same directory as the computation
files. Coordinates that cannot be calculated are discarded and
replaced with (0, 0).
3. RESULTS
The results returned by RB-MDS prove that the integration of
various approaches can lead to highly accurate results. In a
sampling of various graphs, the output demonstrated a high
degree of consistency with the original graphs offered as
input.
In Figure 1, the input is a graph consisting of 100
nodes with a radius of 400 across 10 beacons. The graph
output is shown in figure 2. Overall, the results demonstrate a
high degree of consistency between input and output and
reflect the accuracy given by RB-MDS.
Figures 3 and 4 demonstrate the same degree of
accuracy. The input – Figure 3 – is a graph with 20 nodes and
4 beacons. Although it appears simpler than the previous
case, the greatly reduced connectivity between nodes makes it
a harder case for which to solve. However, Figure 4 shows
that RB-MDS can indeed solve for this case as well.
Similar results can be seen for Figures 5 and 6
which have 20 nodes, 6 beacons, and a radius of 300.
In Figures 7 and 8, the input has 50 nodes, 10
beacons, and a radius of 300. Again, results indicate high
probability of success in determining node positions.
Finally, in Figures 9 and 10, the input has 20 nodes
and 4 beacons. Two of the clusters are lost since there are no
beacons within them. This is an expected behavior for RBMDS. When there are insufficient beacons to determine
absolute value positions, RB-MDS simply discards such
regions since their positions are determinate.
4. CONCLUSION
Sensor networks will continue to develop as an interesting
and innovative field of research with the potential to
dramatically expand its usability in the near future. However,
in order to do so, certain attributes of such networks must be
better understood. One area which requires much more
research is sensor localization. It remains an open question as
to how fast and how large the sensor network may grow
before reaching an upper limit on its resources. Also, further
research can be done into developing more refined methods of
achieving various layers in the process of sensor localization.
A better test for redundant rigidity, a faster method of
calculating shortest path, and perhaps even a better algorithm
than MDS may one day arise which can revolutionize the
realm of sensor localization. Towards that goal, RB-MDS
represents a significant and effective leap in the direction of
efficient sensor localization and hopefully it can contribute to
the bright and burgeoning future of sensor networks.
REFERENCES
[1]. D. J. Jacobs and B. Hendrickson. An Algorithm for Two
Dimensional Rigidity Percolation: The Pebble Game. J.
Comput. Phys. 137, 346-365 (1997).
[2] Y. Shang, W. Ruml, Y. Zhang, and M. Fromherz.
Localization from Connectivity in Sensor Network. ACM
Mobihoc, 2003.
[3]. A. Savvides, H. Park, and M. Srivastava. The Bits and
Flops of the N-hop Multilateration Primitive for Node
Localization Problems. WSNA, 2002.
Figure 1
Figure 2
Figure 4
Figure 3
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Download