cooperative relative positioning for wireless sensor ... - Semantic Scholar

0 downloads 0 Views 229KB Size Report
A wide range of localized protocols for sensor networks like geographic routing ... erences are then used as anchors in a multilateration process to localize.
COOPERATIVE RELATIVE POSITIONING FOR WIRELESS SENSOR NETWORKS Sarfraz Nawaz

1,2

1 National ICT Australia [email protected]

Sanjay Jha

2

2 University of New South Wales

{mnawaz, sjha}@cse.unsw.edu.au Abstract

In this paper, we present a completely distributed relative positioning algorithm for wireless sensor networks that does not require any external infrastructure support in the form of landmark nodes or manual initialization. Our algorithm uses measured inter-node distances and localizes the entire network in a local coordinate system upto a global translation, rotation and reflection. We benchmark our algorithm using TOSSIM simulations and show that it consumes only 0.1% of battery energy while exhibiting smaller localization errors. The main contribution of this work is a multi-phase approach that allows the resource constrained sensor nodes to collaborate with each other and solve the positioning problem for the entire network.

Keywords: sensor network, localization, location

1.

Introduction

Location is an important attribute in wireless sensor networks because these sensor networks provide us with an interface to the physical world. Location awareness allows each node to send location stamped data back to a base station. Without the location information, the raw data would not be useful at the base station. The availability of location

1 National ICT Australia is funded through the Australian Government’s Backing Australia’s Ability initiative, in part through the Australian Research Council.

2 information also opens up other interesting possibilities like geographic routing, region aware queries etc. A wide range of localized protocols for sensor networks like geographic routing, geocasting, data aggregation and distributed data storage do not require absolute node coordinates and can work with relative node positions. This motivates for the need of relative positioning algorithms for wireless sensor networks. Such algorithms allow the sensor networks to be decoupled from external infrastructure or any manual initialization. This is an extremely important and desireable property for these networks to become truly place and play systems. The problem that such a relative positioning algorithm addresses can be stated as, “Given a set of sensor nodes and a set of inter-node distances, determine the euclidean positions of the sensor nodes upto a global translation, rotation and reflection”. In this paper, we present Cooperative Relative Positioning (CRP). CRP is a distributed relative positioning algorithm that does not require any external landmarks or manually initialized anchor nodes. CRP uses measured inter-node distances and localizes the entire network in a local relative coordinate system upto a global translation, rotation and reflection. The relative or virtual coordinates assigned by the algorithm can be readily used with a wide range of localized algorithms like geographic routing, data aggregation, distributed data storage and localized topology control etc. The main contribution of this work is a novel approach that, instead of solving the complete localization problem for the entire network upfront, chooses a set of well located nodes in the network, estimates the coordinates of these nodes and then uses these nodes to localize the rest of the network. We implement CRP in TinyOS platform and evaluate its performance using TOSSIM [1]. We compare the localization accuracy of CRP with absolute positioning algorithm DV-Distance [2]. We also provide energy consumption and execution time benchmarks for CRP on current resource constrained MIT Cricket motes [3].

2.

Related Work

Localization is an important research area in wireless sensor networks and there is a large body of work addressing this problem. The available localization algorithms can be categorized along several dimensions like range based, range free, single hop, multi-hop, anchor based, anchor free etc. and reviewing all of the categories could be a daunting task [4]. Therefore, we will briefly refer to only some of the algorithms related to our approach to put our work in proper context.

Cooperative Relative Positioning for Wireless Sensor Networks

3

One of the earliest multi-hop localization algorithms for wireless sensor networks was proposed in [2]as part of a suite of DV based positioning systems. A number of variations of the original approach were also proposed later [5], [6], [7]. All of these approaches assume that some of the nodes in the network are aware of their coordinates either through GPS or manual initialization. Such nodes are often referred as anchor or landmark nodes in the localization literature. The remaining nodes in the network determine their absolute coordinates by estimating distances to some of these anchor nodes and using some form of multilateration. Relative positioning algorithms, on the other hand make no assumptions about a priori location knowledge of any node in the network and localize the entire network in a local coordinate system with virtual coordinates. However, the absence of anchor nodes makes the localization problem very hard. Infact, determining the position of network nodes given only the distances between certain node pairs is NP-hard [8]. Therefore, most of the current relative positioning algorithms like [9], [10], [11]and [12]solve the problem iteratively. However, these iterative approaches are not only sensitive to the initial starting point [9], [13]but also result in a large number of packet transmissions [12]unsuitable for battery powered sensor nodes. Our CRP algorithm is a synergy of the above mentioned two approaches that brings together the simplicity of anchor based algorithms and the self sufficiency of anchor free algorithms together in a single unified approach that can be easily used with current resource constrained sensor devices. Our algorithm selects a set of reference nodes and estimates the relative coordinates of these reference nodes. Once localized, these references are then used as anchors in a multilateration process to localize the remaining nodes.

3.

Sensitivity to Anchor Geometry

Since our approach selects a set of sensor nodes as references, the first question that must be answered is, which nodes in the network are the best candidates for selection as reference nodes. The selected reference nodes should not only be easy to localize in a relative coordinate system but should also result in a smaller localization error when used in the multilateration process for the remaining nodes in the network. In order to answer these questions, we first show that the error of the multilateration process used with anchor based algorithms is affected by the geometry as opposed to the number of anchor nodes in the network. Consider a sensor network with a total of n sensor nodes. Let us assume that m anchor nodes are aware of their location coordinates

4 (xi , yi ) where i = 1, 2, 3, . . . m. Each of the remaining n − m nodes with unknown coordinates can determine their location by solving the following system of linear equations, Ax = b 

x1 − xm x2 − xm .. .

(1) y 1 − ym y 2 − ym .. .



    A=    xm−1 − xm ym−1 − ym  2 + d2 − d2 x21 − x2m + y12 − ym m 1 2 2 2 2  x2 − xm + y2 − ym + d2m − d22 1 b=  .. 2 .

2 + d2 − d2 2 − ym x2m−1 − x2m + ym−1 m m−1

(2)

    

(3)

where x = [x, y]T is a vector of unknown node coordinates and di is the distance estimate (multi-hop distance sum along the shortest path) to reference i. Here we must note that the elements of matrix A depend only on the anchor node coordinates (xi , yi ) and the elements of vector b are derived from both the anchor coordinates (xi , yi ) and estimated distances di where i = {1, 2, 3, . . . m} to these anchor nodes. Eq. (1) is an overdetermined system of linear equations that is generally solved using linear least squares by finding the pseudo inverse matrix A+ as ˆ = A+ b x

(4)

If b is the vector derived from the anchor coordinates and the true Euclidean distances as opposed to estimated distances di , then the true node position x is given as x = A+ b

(5)

Subtracting Eq. (5) from Eq. (4) gives us  x ˆ − x = A+ b − b

Thus the multilateration localization error can be bounded as

kˆ x − xk ≤ A+ kek

(6)

(7)

where each element of vector e is the error between the true Euclidean distance and the multi-hop sum distance along the shortest path between

5

0.8 0.4 0

0

10

20

30

40

50

Percentage of Anchors

(a) Random Anchors

1.2 0.8 0.4 0

0

1

2

Anchor Coord. Error (m)

(b) Five Anchors

Condition Num. of A

1.2

Condition Num. of A

Mean Loc. Error

Mean Loc. Error

Cooperative Relative Positioning for Wireless Sensor Networks

3 2 1 0 0

10

20

30

40

50

Percentage of Anchors

(c) Random Anchors

3 2 1 0

0

1

2

Anchor Coord. Error (m)

(d) Five Anchors

Figure 1: Well separated anchor geometry outperforms large number of randomly placed anchors. the node being localized and the anchor node. The L2-norm kA+ k depends on the condition number of matrix A which depends only on the anchor node coordinates. Thus the localization error of each node in the network depends on the geometry of the anchor nodes and the distance estimation error between the node and the anchor nodes. It has been shown in [14]that the condition number of matrix A can be minimized by using simple geometric shapes like equilateral triangle and square etc. We show through simulation that a simple geometry of five anchor nodes in which four anchors are located at the edge of the network at corners of a square and the fifth anchor is located roughly in the middle of the network results in smaller localization errors as compared to a large percentage of anchor nodes randomly placed throughout the network. We use DV-Distance [2]localization and noisy grid topologies similar to the ones mentioned in [15]for this comparison. In the first scenario, we run DV-Distance localization on the generated noisy grid topology by randomly selecting a fixed percentage of anchor nodes in the network only from a subset of nodes that do not lie on the network periphery. In the second scenario, we use five anchor nodes in such a manner that four nodes lie at the edge of the network forming a four-sided polygon and the fifth node lies roughly in the middle of the network and introduce an error in the coordinates being announced to other network nodes by these anchor nodes from a normal distribution with zero mean. Fig. (1a) shows that increasing the ratio of randomly located anchors does not improve localization accuracy beyond a certain point. On the other hand, only five anchors located in a simple geometry result in smaller localization error even if their own coordinates have errors as large as 1m as shown in Fig. (1b). Fig. (1c) and (1d) reveal that our well separated geometry of five anchor nodes results in a smaller condition number of matrix A as compared to a large percentage of randomly placed anchor nodes.

6 These simulations show that a small number of anchor nodes with errors in their own coordinates but located in a good constellation at the periphery of the network outperform a large number of randomly placed anchor nodes without any errors. Thus if the localization system can choose a small number of well separated nodes located at the edges of the network in good geometry and assign approximate coordinates in some coordinate system to these nodes then these nodes can function as anchors allowing the rest of the unlocalized nodes to determine their relative coordinates. Such a capability obviates the need of any external infrastructure and makes the localization system completely self sustained and autonomous. In the next few sections, we outline our algorithm that follows this approach and show that it performs better than traditional localization approaches.

4.

Localization

In this section, we describe our relative positioning localization algorithm CRP. We assume that each node in the network is equipped with a ranging device like MIT Cricket [3]and can measure the distance to neighboring nodes using time difference of arrival (TDoA) between a radio and an acoustic signal. Our algorithm consists of three distinct phases, Reference Selection, Reference Localization and Node Localization. During the first phase, all of the nodes in the network collaborate to select a set of nodes which are referred as reference nodes. During the second phase, the coordinates of these reference nodes are estimated and in the final phase, non reference nodes determine their coordinates. Here we describe each of these phases in detail.

4.1

Reference Selection

As we saw in the previous section, anchor nodes located in a well separated geometry result in better position estimates for the entire network, therefore, the goal of the first phase of our algorithm is to select a set of five nodes in such a manner that four nodes lie at the edge of a network forming a four-sided polygon and the fifth node lies roughly in the middle of the network. First we describe a completely distributed mechanism that allows any node in the network to search and select a node that is farthest from it. We will later use this approach as a building block for the reference selection mechanism. Any node in the network wishing to find the most distant node simply broadcasts a message with a distance field set to zero. A neighbor node receiving this message adds its measured distance to the source node to the distance field of the message, records this updated field and the node

Cooperative Relative Positioning for Wireless Sensor Networks

7

ID from which the message was received and broadcasts the message again. Thus a wave of messages originating at the source node starts diffusing throughout the network. A node forwards a message only if the updated distance field is smaller than the stored value. After the message diffusion is complete, each node in the network knows its multihop distance sum along the shortest path to the originating source node and the node ID of its direct parent node. This process is infact a distributed implementation of Uniform Cost Search [16]on a weighted graph. At this point if each node registers with its direct parent, each node will be able to know how many child nodes it has. All of the nodes with zero child nodes can recognize themselves as leaf nodes of the resulting tree that is rooted at the originating source node. The leaf nodes of this tree forward their distance values and their own node IDs to their parent nodes. At each level of the tree, these distance values are filtered and only the maximum of the distance values received from child nodes is forwarded. In this manner a small number of messages arrive back at the originating source node which can select the node with the maximum distance value. The selected node is informed of this decision by sending a message along the tree in the reverse direction. In this paper, we refer to this entire process as message diffusion. This message diffusion requires O(n) packet transmissions. Now we describe our reference node selection mechanism. This process can be started by any one of the network nodes which can be chosen either randomly or through a leader election mechanism [17]. Let a0 be the chosen node. a0 selects the most distant node a1 on the edge of the network using the above described message diffusion approach. At this point a1 uses a second round of message diffusion to select a2 on the farthest edge of the network. During this entire selection phase of our algorithm, each non reference node stores its multi-hop distance to each of the reference nodes seen so far and the reference nodes store their distance to other reference nodes. At this stage a2 starts a third round of message diffusion. However, instead of selecting the farthest node, a leaf node a3 almost equidistant to both a1 and a2 is selected. This can be easily achieved by using a slightly modified version of message diffusion in which each leaf node forwards its |d1 − d2 | value to its parent node where d1 is the distance to reference node a1 and d2 is the distance to reference node a2 . These values are filtered at each level of the tree and only the minimum of the values received from the child nodes is forwarded. In the fourth round of message diffusion, a3 selects a leaf node a4 almost equidistant to both a1 and a2 . Node a4 starts a fifth round and selects a node a5 from the non-leaf nodes such that a5 is almost equidistant from all of the previously selected four reference

8 a1 a4 a5

a3

a2

(a) Network topology

(b) Selected reference nodes

Figure 2: Reference node selection phase nodes. This completes the reference selection phase and our algorithm proceeds to the next phase of reference localization. Fig. (2a) shows a small network topology and the reference nodes selected by the first phase of our algorithm are shown in fig. (2b) along with the final tree rooted at a5 .

4.2

Reference Localization

Once the reference nodes have been selected during the previous phase, these must be localized so that these reference nodes can act as anchors for the remaining nodes in the network. At this stage each reference node has a tuple of four distance estimates to the remaining four reference nodes. At the beginning of this phase, each reference node disseminates its own tuple to the entire network along the already established spanning tree from the previous phase. Once this dissemination is complete, each node in the network has complete information to estimate reference node coordinates in the form of a 5 × 5 symmetric matrix of inter-reference distance estimates. Since these inter-reference distances are only estimates, therefore, we must find such coordinates for reference nodes that minimize the errors between the estimated distances and the distances among localized positions. Such location coordinates can be determined by minimizing the following non-linear function min f (X) = X

5 4 X X

(dij (X) − lij )2

i=1 j=i+1

where q dij = (xi − xj )2 + (yi − yj )2 lij is the estimated distance between reference i and j

(8)

Cooperative Relative Positioning for Wireless Sensor Networks

9

Gradient algorithms are well suited for this non-linear minimization on our resource constrained sensor nodes because these algorithms require only O(n) memory storage as opposed to O(n2 ) for Newton type optimization algorithms [18]. We use the conjugate gradient algorithm to find minimizer X∗ of Eq. (8) by iterating the following equation: Xk+1 = Xk + αk Sk

(9)

where gk = ∇f (Xk ) S1 = −g1 Sk = −gk + βk Sk−1 gkT (gk − gk−1 ) βk = T g gk−1 k−1

for k > 1

αk is determined from a one dimensional minimization as min f (Xk + αk Sk )

αk >0

(10)

Each node in the network, independently runs the above algorithm and when the iteration of Eq. (9) terminates each node has location estimates for the five selected reference nodes. On a Cricket mote, our implementation of Reference Localization is able to localize the reference nodes in under a few seconds. The detailed execution timings are reported in later sections.

4.3

Node Localization

After the coordinates of the reference nodes have been determined, non reference nodes can be localized using any of the anchor based algorithms like [2], [5], [6], [7]. We use simple multilateration to localize the non-reference nodes in this phase. Each of the non reference nodes in the network has a tuple of five distance estimates to five reference nodes from the first phase of our algorithm. Using these distance estimates and the relative coordinates of reference nodes obtained in the previous phase, an equation system like Eq. (1) can be written for each node. Thus each node determines its relative coordinates x ˆ as x ˆ = A+ b

(11)

The pseudo inverse A+ is calculated from the singular value decomposition (SVD) of A. In our implementation, we used the TinyOS implementation of SVD from Calamari [19]. On a Cricket mote, our imple-

10 mentation of this phase executes in under 14ms. The detailed timings are reported in sections.

5.

Localization Error

In this section, we evaluate the effect of a range of network parameters on the accuracy of location estimates generated by our proposed algorithm using TOSSIM [1]simulations. We compare the localization errors of our CRP algorithm against DV-Distance with both manually selected four anchor nodes at the corners of the network and with randomly selected anchor nodes within the network. In the first set of simulations, we investigate the effect of increasing the size of the network on the localization error. We vary the number of nodes in the network while maintaining the average node density constant. The average number of neighbors for all of the topologies is around 6. The results of these set of simulations are shown in fig. (3a) where the vertical axis is normalized average localization error and each point on the plot is an average of 10 runs of simulation on 10 different similar sized topologies. Fig. (3a) shows that increasing the network size increases the localization errors for all of the algorithms. However, our proposed algorithm exhibits lowest localization errors. Next we evaluate the effect of average number of node neighbors on the localization errors. One of the 100 node network topologies from the previous set is used for this simulation. Different average node neighbors are achieved by increasing the maximum ranging distance of each node. Fig. (3b) shows that our algorithm provides better location estimates and introduces smaller errors as compared to other localization algorithms under all network densities. The ranging devices used with sensor nodes generally exhibit distance measurement errors. Next we investigate the effect of this distance measurement noise on the location estimates generated by our algorithm. We assume that the ranging errors are normally distributed with zero mean. Fig. (3c) shows the results for these simulations where the horizontal axis is the standard deviation of the ranging noise and each point on the curves is an average of 100 runs of simulation. It is interesting to note that increasing the ranging noise reduces the localization errors for all of the algorithms up to a certain point beyond which the error starts to increase. The reason for this is that in sparse networks the multi-hop sum distance along the shortest path is always larger than the actual Euclidean distance between the nodes. When ranging errors are introduced, this overestimation in distance is reduced by message diffusion favoring the shortest paths. Fig. (3c) shows that our algorithm exhibits

11

Cooperative Relative Positioning for Wireless Sensor Networks

CRP DV−Dist Manual DV−Dist 10% Anchors DV−Dist 20% Anchors

0.4

1 0.8

Mean Loc. Error

Mean Loc. Error

0.6

0.5

Mean Loc. Error

CRP DV−Dist Manual DV−Dist 10% Anchors DV−Dist 20% Anchors

0.3

0.4

0.6

0.2

0.2

0

0.4

0.1

100

200 300 Network Size

(a) Network Size

400

0 5

CRP DV−Dist Manual DV−Dist 10% Anchors DV−Dist 20% Anchors

0.2

10

15 20 Avg. Neighbors

(b) Avg. Neighbors

25

0

0.2 0.4 0.6 0.8 Ranging Noise Std. Dev. (m)

1

(c) Ranging Noise

Figure 3: Localization error of Cooperative Relative Positioning.

smaller localization errors as compared to other algorithms for the entire range of ranging noise.

6.

Energy Consumption

Understanding the energy consumption of an algorithm is an extremely important aspect of sensor networks where the devices operate on power limited batteries. In this section, we investigate the energy consumption of each of the three individual phases of our localization algorithm. We show that the total energy consumed by our algorithm for the localization process is just a fraction of the actual energy available from the batteries generally used with current sensor devices. We used PowerTOSSIM [20]to estimate the energy consumption of Reference Selection. Fig. (4a) shows the average energy consumed during this phase for different network sizes. It shows that the energy consumed for the reference selection process is on the order of tens of joules and gradually increases with the network size. Fig. (4d) shows that even in a large network of about 200 nodes, each node transmits an average of 30 packets for this communication intensive phase of our algorithm. PowerTOSSIM employs a block analysis technique in which the basic block of instructions in the simulated binary are counted and used to estimate the number and type of assembly instructions executed by the microcontroller. This technique does not produce accurate results for active CPU profiling. Therefore, we used AEON [21]for estimating the energy consumption of CPU intensive Reference Localization and Node Localization phases. Fig. (4b) and (4c) show the energy consumption of both of these phases for different network sizes. The energy consumed in both of these phases is independent of the network size because Eq. (8) and (11) do not change with the network size. To validate our results, we ran both Reference Localization and Node Local-

12

15

10

5

0

25

49

100

144

0.5

Energy Consumed (mJ)

200

Energy Consumed (mJ)

Energy Consumed (J)

20

160 120 80 40 0

196

25

49

Network Size

100

144

0.4 0.3 0.2 0.1 0

196

(a) Ref. Selection Energy

49

100

144

196

Network Size

(b) Ref. Localization Energy

(c) Node Localization Energy

40

25

30

20

10

0

25

49

100

144

196

Network Size

(d) Ref. Selection Packets

Execution Time (ms)

8

Execution Time (s)

Avg. Number of Packets

25

Network Size

6

4

2

0

25

49

100

144

196

Network Size

(e) Ref. Localization Time

20 15 10 5 0

25

49

100

144

196

Network Size

(f) Node Localization Time

Figure 4: Energy consumption of Cooperative Relative Positioning. ization on a Cricket mote with the same inputs as in the simulation and measured the execution timings with a hardware timer of the microcontroller. The execution time for these algorithms on the actual hardware was exactly equal to the time reported by the AEON emulator. These measured timings are reported in fig. (4e) and (4f). These results show that the Reference Localization and Node Localization phases that require only local computation consume very little energy on the order of few milli joules. Reference Selection which involves communication consumes most of the energy. However, even in a large network of about 200 nodes, the total energy consumption of each node is just under 20 Joules which is less than 0.1 percent of the total energy available from two ordinary AA batteries generally used with sensor devices.

7.

Irregular Shaped Topologies

The localization performance of all of the multi-hop localization algorithms is severely affected for irregular shaped network topologies [22]. The reason for this is that these multi-hop algorithms use the shortest path distance between the reference and ordinary nodes as an estimate of the true Euclidean distance between the two nodes which is almost always incorrect for irregular regions. Fig. (5) presents two irregular

13

Cooperative Relative Positioning for Wireless Sensor Networks

50

50

30

30

10

10

−10 −10

−10 −10

10

30

50

(a) CRP Localization

10

30

50

45

45

25

25

5

5 5

(b) Refined Layout

25

45

(c) CRP Localization

5

25

45

(d) Refined Layout

Figure 5: Localization of irregular shaped topologies. shaped topologies localized by using our CRP algorithm. It shows that our approach does not completely fail and is able to recover reasonable coordinates for irregular topologies. For applications that require more accurate coordinates, we propose an optional refinement phase. Let (xi , yi ), i = 1, 2, . . . , n represent the coordinates of n nodes after the completion of CRP; lij ∈ E be the measured distance between the neighboring nodes i and j where E is the set of all of the measured distances in the network. The location coordinates of the nodes can be refined by minimizing the following objective function, min x,y

X q

hi,ji∈E

2

2

(xi − xj ) + (yi − yj ) − lij

2

(12)

Fig. (5b) and (5d) present the improved network layouts obtained by following our CRP localization with only five iterations of the above mentioned refinement process. Encouraged by these preliminary results, we are currently extending our CRP algorithm to include the distributed refinement phase and detailed results will be reported in the future work. We also intend to carry out experiments on a small network of Cricket motes.

8.

Conclusion

We proposed a distributed relative positioning algorithm for resource constrained wireless sensor networks and showed that our algorithm not only offers self sufficiency but also exhibits smaller localization errors as compared to traditional localization approaches. We benchmarked our algorithm using TOSSIM and AEON simulations and showed that it consumes only 0.1% of available battery resources. We showed that our approach can work with irregular network topologies exhibiting reasonable localization errors. We also proposed a refinement mechanism and presented some preliminary results for irregular topologies.

14

References [1] Philip Levis, Nelson Lee, Matt Welsh, and David Culler. TOSSIM: accurate and scalable simulation of entire tinyos applications. In SenSys ’03: Proceedings of the 1st international conference on Embedded networked sensor systems, pages 126–137, New York, NY, USA, 2003. ACM Press. [2] Dragos Niculescu and Badri Nath. DV based positioning in ad hoc networks. Telecommunication Systems, 22(1-4):267–280, 2003. [3] Nissanka B. Priyantha, Anit Chakraborty, and Hari Balakrishnan. The cricket location-support system. In MobiCom ’00: Proceedings of the 6th annual international conference on Mobile computing and networking, pages 32–43, New York, NY, USA, 2000. ACM Press. [4] Guoqiang Mao, Baris Fidan, and Brian D. O. Anderson. Wireless sensor network localization techniques. to appear in Computer Networks, 2007. [5] Chris Savarese, Jan M. Rabaey, and Koen Langendoen. Robust positioning algorithms for distributed ad-hoc wireless sensor networks. In Proceedings of the General Track: 2002 USENIX Annual Technical Conference, pages 317–327, Berkeley, CA, USA, 2002. USENIX Association. [6] Andreas Savvides, Heemin Park, and Mani B. Srivastava. The bits and flops of the n-hop multilateration primitive for node localization problems. In WSNA ’02: Proceedings of the 1st ACM international workshop on Wireless sensor networks and applications, pages 112–121, New York, NY, USA, 2002. ACM Press. [7] Radhika Nagpal, Howard E. Shrobe, and Jonathan Bachrach. Organizing a global coordinate system from local information on an ad hoc sensor network. In Feng Zhao and Leonidas J. Guibas, editors, IPSN, volume 2634 of Lecture Notes in Computer Science, pages 333–348. Springer, 2003. [8] Yechiam Yemini. Some theoretical aspects of position-location problems. In FOCS: 20th Annual Symposium on Foundations of Computer Science, pages 1–8. IEEE, October 1979. [9] Nissanka B. Priyantha, Hari Balakrishnan, Erik Demaine, and Seth Teller. Anchor-free distributed localization in sensor networks. Technical Report 892, MIT, Laboratory for Computer Science, April 2003. [10] Michael Broxton, Joshua Lifton, and Joseph A. Paradiso. Localization on the pushpin computing sensor network using spectral graph drawing and mesh relaxation. SIGMOBILE Mob. Comput. Commun. Rev., 10(1):1–12, 2006. [11] Craig Gotsman and Yehuda Koren. Distributed graph layout for sensor networks. In Graph Drawing, pages 273–284, 2004. [12] Ananth Rao, Christos Papadimitriou, Scott Shenker, and Ion Stoica. Geographic routing without location information. In MobiCom ’03: Proceedings of the 9th annual international conference on Mobile computing and networking, pages 96– 108, New York, NY, USA, 2003. ACM Press. [13] Andrew Howard, Maja J. Matari´c, and Gaurav S. Sukhatme. Relaxation on a mesh: a formalism for generalized localization. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1055 – 1060, Wailea, Hawaii, Oct 2001.

Cooperative Relative Positioning for Wireless Sensor Networks

15

[14] Yingying Chen, John-Austen Francisco, Wade Trappe, and Richard Martin. A practical approach to landmark deployment for indoor localization. In SECON ’06: Proceedings of 3rd Annual IEEE Communications Society on Sensor and Ad Hoc Communications and Networks, volume 1, pages 365 – 373, 2006. [15] Kamin Whitehouse, Chris Karlof, Alec Woo, Fred Jiang, and David Culler. The effects of ranging noise on multi-hop localization: An empirical study. In Fourth International Conference on Information Processing in Sensor Networks (IPSN 2005), pages 73–80, April 2005. [16] Nancy A. Lynch. Distributed Algorithms. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1996. [17] S. Dulman, P. Havinga, and J. Hurink. Wave leader election for wireless sensor networks. In Proceedings of the 3rd International Symposium on Mobile Multimedia Systems & Applications, pages 43–50, 2002. [18] William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery. Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, New York, NY, USA, 1992. [19] Kamin Whitehouse. The design of calamari: an ad-hoc localization system for sensor networks. Master’s thesis, University of California Berkeley, 2002. [20] Victor Shnayder, Mark Hempstead, Bor rong Chen, Geoff Werner Allen, and Matt Welsh. Simulating the power consumption of large-scale sensor network applications. In SenSys ’04: Proceedings of the 2nd international conference on Embedded networked sensor systems, pages 188–200, New York, NY, USA, 2004. ACM Press. [21] O. Landsiedel, K. Wehrle, and S. Gtz. Accurate prediction of power consumption in sensor networks. In Proceedings of The Second IEEE Workshop on Embedded Networked Sensors (EmNetS-II), May 2005. [22] Hyuk Lim and Jennifer C. Hou. Localization for anisotropic sensor networks. In INFOCOM, pages 138–149. IEEE, 2005.