ESD: A Novel Optimization Algorithm for ... - Semantic Scholar

1 downloads 0 Views 1MB Size Report
and have been proposed for a wide range of applications. The main purpose .... that multilateration algorithms are more robust to noisy rang- ing measurements ...
ESD: A Novel Optimization Algorithm for Positioning Estimation in WSNs – Analysis and Experimental Validation via a Testbed Platform Stefano Tennina

Marco Di Renzo

Dept. of Electrical and Information Engineering Center of Excellence in Research DEWS University of L’Aquila Poggio di Roio, 67040, L’Aquila, Italy E–Mail: [email protected]

Telecommunications Technological Center of Catalonia Access Technologies Area Mediterranean Technological Park, Av. Canal Olimpic s/n 08860 Castelldefels, Barcelona, Spain E–Mail: [email protected]

Abstract—In recent contributions [1], [2], we have provided a comparative analysis of various optimization algorithms, which can be used for atomic location estimation, and suggested an enhanced version of the Steepest Descent (ESD) algorithm, which we have shown to be competitive with well–known distributed localization algorithms in terms of estimation accuracy and numerical complexity. Moreover, in [3] we have conducted a statistical characterization of the positioning error distribution of the ESD algorithm, and shown that the latter error can be well approximated by the family of Pearson distributions. However, the analysis in [1]–[3] is mainly based on numerical (i.e., computer–based) simulations, which only in part allows to predict the system performance in a realistic environment where sensor nodes are expected to operate. As a consequence, the aim of this contribution is twofold: i) to analyze the error performance of the ESD algorithm in a real testbed platform working in a typical indoor environment, and ii) to compare experimental and simulated results to substantiate via real measurements our previous findings useful for network setup and analysis. In particular, we will first report on the implementation issues related on mapping the ESD algorithm on the CrossBow’s MICAz sensor node platform [4], and, then, we will investigate, via real experiments, on the effect of network topology and ranging errors in estimating the final position of an unknown sensor node.

I. I NTRODUCTION Distributed Wireless Sensor Networks (WSNs) [5] have become increasingly popular in military and civilian applications, and have been proposed for a wide range of applications. The main purpose of a sensor network is to monitor an area, including detecting, identifying, localizing, and tracking one or more objects of interest. These networks may be used for i) military and homeland security purposes, as in surveillance, reconnaissance and combat scenarios or around the perimeter of a manufacturing plant for intrusion detection, and ii) civilian intentions, as in environmental and biometrics monitoring, disaster area monitoring and recovery, home automation, inventory management, logistic, and many others. The individual nodes incorporate wireless transceivers so that communication Work partially done in the framework of the HYCON Network of Excellence, contract number FP6–IST–511368.

and networking are enabled. Moreover, these nodes should have small form factor, light weight, provide long time service with a limited energy source and be inexpensive, so that they can be deployed in large numbers. Additionally, the network is required to possess, in general, self–organizing capabilities, so that little or no human intervention for network deployment and setup is required. In the frame of distributed WSNs, a fundamental component of self–organization is the ability of sensor nodes to “sense” their location in space [6]–[9]. In particular, the automatic location of sensors in WSNs represents a key enabling technology to allow and support a rich set of geographically aware protocols [10], and to accurately report the position of either detected targets or events [11], [12]. Over the last years, many distributed algorithms have been proposed and analyzed to address the problem of network location discovery (see, e.g., [9], [13]–[15]). However, in [9] and [15] the authors conclude that among the existing algorithms no one seems to perform better than the others, and claim that the definition of location algorithms with accurate positioning capabilities and low communication and computation costs is still an ongoing research area. Despite the positioning algorithms proposed to date exhibit advantages and disadvantages, a promising approach analyzed by many authors is the so–called “recursive positioning methods” [9], [14], [16]. Loosely speaking, recursive algorithms are often employed to overcome the limits related to the short–range communication capabilities of sensor nodes, by enabling the position estimation process to be composed by many subsequent steps/phases through which all the sensors in the network localize themselves in a distributed fashion. In particular, first of all, sensor nodes that have at least four (we consider the general 3D scenario) anchor nodes (i.e., nodes that are aware of their exact location, also called “startup anchors”) in their neighborhood (i.e., nodes within the radio range) activate a location discovery procedure to estimate their position; then, these localized nodes are converted (i.e., “converted anchors”) to the level of anchor nodes (with a

978-1-4244-2390-3/08/$25.00 ©2008 IEEE

certain degree of reliability [13], [14]), thus possibly enabling the activation of the location discovery procedure for sensor nodes not involved in this first phase. So, by applying the whole process iteratively, the converted anchor nodes are propagated through the network in the regions with a low density of startup anchors, thus allowing the activation of the location discovery procedure for almost all the sensors in the network. Recursive positioning methods have several positive features, e.g., i) they appear to be a good solution for sensor nodes with limited range capabilities, ii) they may efficiently counteract the sparse anchor node problem, and iii) they are distributed by nature. However, they still present several critical design issues, e.g., i) in recursive approaches the positioning error may accumulate along the iterative process, thus severally corrupting the final estimates of sensor nodes located in remote areas (i.e., regions of the network where startup anchors are sparse) [16], and ii) some bad network topologies may introduce significant errors even with accurate distance estimates [13]. Moreover, iterative techniques typically require intensive network simulations to estimate the nodes’ position: in general, in order to estimate the position of a node in a remote area, the overall location discovery algorithm has to be simulated, such that error position accumulation can be taken into account. Of course, this procedure may be computational demanding when large networks have to be studied, and when various network topologies and algorithms have to be compared. In order to cope with the first above–mentioned design issue, in [1], we have deeply investigated the problem of error accumulation, and proposed a comparative study of various optimization algorithms that can be used for distributed position estimation. In addition to the well–known Triangulation, Steepest Descent, Non–Linear Least Squares, and Conjugate Gradient algorithms [17], we have also proposed an enhanced version of the Steepest Descent, which we have shown to be superior to the other algorithms in terms of error accuracy, computational complexity (i.e., time required to estimate the final position), and algorithm initialization. Moreover, in [2], [3] we have addressed the second important issue (i.e., intensive network simulations), and proposed a new methodology to avoid the need to simulate the whole location discovery algorithm for estimating the position of every node in the network, and account for error propagation as well. In particular, we have developed an accurate statistical model for describing the positioning error distribution of the ESD algorithm (at the probability density function level), and shown that this information might be used for avoiding the simulation of the whole location discovery algorithm, but allowing simulation at the atomic level only (i.e., by simulating only the atomic network composed by either four “startup” or “converted” anchors, and an un–localized sensor node). Moreover, we stress here that the speed–up of network–level simulations is just an application that can benefit from the knowledge of the position error distribution. As a matter of fact, in [18] the authors have remarked that such a knowledge

may be beneficial for resource management, routing, and application related issues as well, while in [19] it has been used to define an error control mechanism, which may improve the accuracy and robustness of the network localization process. However, although very general and useful, the analysis described in [1]–[3] was conducted by relying on computer– based simulation, and on some a priori knowledge for modeling ranging errors. Moreover, the issues related to implementation aspects of the new ESD algorithm in a real sensor node platform were not considered in those contributions. As a consequence, the aim of this contribution is to fill this gap along two main directions: i) to analyze with detail practical issues related to the implementation of the proposed algorithm in a today available sensor node platform, and ii) to validate via real experiments the simulative analysis described in [1]– [3]. In order to achieve these goals, a testbed platform has been implemented using CrossBow’s MICAz sensor nodes [4], and used for analyzing the effect of network topology configuration and ranging errors for location estimation. The reminder of the paper is organized as follows. Section II introduces system model and network scenario. In Section III, the proposed Enhanced Steepest Descent (ESD) algorithm is described. In Section IV, the testbed platform based on Crossbow’s MICAz sensor nodes is introduced, and the implementation issues of the ESD algorithm are addressed. In Section V, the experiments conducted to validate theoretical analysis are reported, and the impact of both topology configuration and ranging errors is investigated. Finally, Section VI concludes the paper. II. S YSTEM D ESCRIPTION N

A Let us consider NA wireless nodes {Ai }i=1 distributed in the region of interest, whose exact locations in the considered scenario are known. These nodes will be denoted in the text as “startup anchors”. We also assume that in the same area NU with unknown location have been NU wireless nodes {Ui }i=1 deployed. We will refer to these nodes as “unknown nodes”. These wireless nodes have a relatively simple radio interface to communicate among them, which allows not only data exchange but also distance measurements. The main goal of localization algorithms is to use the anchor nodes to somehow estimate the position of the unknown nodes in the specified coordinate system. In particular, position estimation algorithms require a minimum of either three or four anchor nodes in a two– and tree–dimensional coordinate system, respectively [6].

A. Recursive Positioning Method As discussed in Section I, we will consider a recursive positioning method for network location discovery. In particular, the well–known recursive and hierarchical method proposed in [14], [16] is analyzed for sake of illustration. The basic version of the algorithm in a 3D scenario involves the following steps: 1) Phase 1: Unknown nodes that are connected (i.e., they are in the neighborhood) to at least four “startup anchors” compute their position.

2) Phase 2: Once an unknown node has estimated its position, it becomes a “converted anchor” and broadcasts its estimated position to other nearby unknown nodes, thus enabling them to estimate their positions. 3) Phase 3: This process is repeated until the positions of all the nodes that eventually can have either four “startup anchors” or “converted anchors” are estimated. As a consequence, depending on the current step of the algorithm, the four reference nodes with known position may be either “startup anchors” or “converted anchors”, where the latter are nodes with unknown position at the beginning of the location discovery procedure, but which have localized themselves during one of the previous steps of the iterative algorithm. Of course, differently from the “startup anchors”, the position of the “converted anchors” is affected by a certain error. In what follows, we will denote with “reference nodes” both “startup” and “converted” anchors. B. Position Computation The recursive positioning method described in Section II-A requires a technique to compute the location of an unknown node from the position of four anchor nodes, which may be in part “startup anchors” and in part “converted anchors”. In general, the computation of the position of the unknown node involves two basic steps: i) measuring the distances between pairs of sensors, and ii) estimating the node’s position via some mathematical models. With regard to distance estimation between pairs of nodes, in this contribution we consider the so–called Received Signal Strength (RSS) technique [11]. In this method, the power of a signal traveling between a pair of nodes contains the ranging (i.e., distance) information between the nodes. Even though there exist several and more accurate techniques for ranging estimation [12], in the present contribution we resort to the RSS technique as it is nowadays implemented in many commercial off–the–shelf sensor node platforms, such as the CrossBow’s MICAz one, which is used in our experimental activities and measurements. To be used in practice, RSS– based techniques need a calibration phase to estimate the relation between the received signal power and the actual distance between the nodes (by assuming the transmit power is known and fixed). These calibration measurements are also described in this paper (see Section IV-A), and the calibration RSS–to–distance curve is derived via linear least–squares fitting in the logarithmic domain. This site–specific curve will represent the input for the localization algorithm based on the proposed ESD algorithm. With regard to position computation from ranging estimates, in the literature two basic mathematical models are often considered: i) triangulation, which foresees to estimate the position of the unknown node by finding the intersection of four spheres in a 3D environment, and ii) multilateration, according to which the estimated position is obtained via the minimization of an error cost function, depending on the difference between the actual measured distances and the estimated Euclidean distances between unknown and reference

nodes. The main difference between the two approaches is that multilateration algorithms are more robust to noisy ranging measurements [9], even though they may suffer for the local minima problem. As described in Section III, the ESD algorithm is based on the multilateration principle. III. A N I MPROVED O PTIMIZATION A LGORITHM FOR P OSITIONING : T HE E NHANCED S TEEPEST D ESCENT In this section, we introduce the proposed ESD algorithm. In particular, since the proposed method represents an improved version of the well–known Steepest Descent (SD), the latter one is briefly summarized first, and then compared with the proposed one. The following notation will be used: i) bold T symbols are used to denote vectors and matrices, ii) (·) denotes transpose operation, iii) ∇ (·) is the gradient operator, iv) · is the Euclidean distance, v) ∠ (·, ·) is the phase angle T uj,x , u ˆj,y , u ˆj,z ] denotes between two vectors, vi) u ˆ j = [ˆ the estimated position of the unknown node Uj , vii) uj = T [uj,x , uj,y , uj,z ] is the trial solution of the optimization algo4  ¯ i = [xi , yi , zi ]T rithm for the unknown node Uj , viii) u 4

i=1

are the positions of the reference nodes {Ai }i=1 , which are exact when the reference node is a “startup anchor”, and noisy when reference node is a “converted anchor”, and ix)  the 4 denotes the estimated (via ranging measurements) dˆj,i i=1

4

distance between reference node {Ai }i=1 and the unknown node Uj . A. Multilateration Methods Both SD and ESD algorithms belong to the family of multilateration methods. In particular, in such a methods the position of an unknown node Uj is obtained by minimizing the error cost function F (·) defined as follows: F (uj ) =

4  

2 ¯i  dˆj,i − uj − u

(1)

i=1

such that u ˆ j = arg min {F (uj )}. The minimization of (1) uj

can be done using a variety of numerical optimization techniques, each one having its advantages and disadvantages in terms of accuracy, robustness, speed, complexity, and storage requirements [17]. Since optimization methods are iterative by nature, we will denote by the index k the k–th iteration ˆ j (k) the error of the algorithm, and with F (uj (k)) and u cost function and the estimated position at the k–th iteration, respectively. 1) Steepest Descent (SD): The SD is an iterative line search method that allows to find the (local) minimum of the cost function in (1) at step k + 1 as follows [17, pp. 22, sec. 2.2]: ˆ j (k) + αk p (k) u ˆ j (k + 1) = u

(2)

where αk is a step length factor, which can be chosen as described in [17, pp. 36, ch. 3], and p (k) = −∇F (uj (k)) is the search direction of the algorithm. In particular, when the optimization problem is linear, some expressions exist to compute the optimal step length in order to improve

the convergence speed of the algorithm. On the other hand, when the optimization problem is non–linear, as considered in this contribution, a fixed and small step value is in general preferred in order to reduce the oscillatory effect when the algorithm approaches a solution. In such a case, we have, in general, αk = 0.5µ [14], where µ is the learning speed. 2) Enhanced Steepest Descent (ESD): The SD method provides, in general, a good accuracy in estimating the final solution. However, it often requires a large number of iterations, which may result in a too slow convergence speed for mobile ad–hoc wireless networks. The proposed ESD algorithm aims at improving the convergence speed of the SD algorithm, while trying to maintain its good accuracy for position estimation. The basic idea behind the ESD algorithm is to adjust the step length value αk as a function of the current and previous search directions p (k) and p (k − 1), respectively. In particular, αk is adjusted as follows:   θk < θmin αk = αk−1 + γ if (3) αk = αk−1 /δ if θk > θmax   αk = αk−1 otherwise

Fig. 1. Implementation of the location module using NesC language (running in a MICAz sensor node).

where θk = ∠ (p (k) , p (k − 1)), γ < 1 is a linear increment factor, δ > 1 is a multiplicative decrement factor, and θmin and θmax are two threshold values which control the step length update. By using the four degrees of freedom γ, δ, θmin and θmax , we can simultaneously control the convergence rate of the algorithm, and the oscillatory phenomenon when approaching the final solution in a simple way, and without appreciably increasing the complexity of the algorithm when compared to the SD method. Basically, the main advantage of the ESD algorithm is the adaptive optimization of the step length factor αk at run time, which allows to dynamically either accelerate or decelerate the convergence speed of the algorithm as a function of the actual value of the function to be optimized. IV. T ESTBED P LATFORM In order to assess both implementation issues and performance of the proposed ESD algorithm, we have implemented a testbed platform by using CrossBow’s MICAz sensor nodes [4]. The main building blocks included in the location module are sketched in Fig. 1, and have been implemented using the NesC programming language [20]. In particular (see Fig. 1), the Location Blind Module (LocBlindM) is implemented to perform the following algorithm (the tasks below are in chronological order) for location estimation: i) it starts a timer waiting for messages sent by reference nodes (20 s in the current implementation), ii) for each received message, it extracts and stores the positions of the reference nodes and the RSS values (a moving average is used in this step), iii) if messages from less than four reference nodes are received, it continues waiting for new packets; otherwise, when timer expires, the measured RSS values are converted to distance measurements using the RSS–to–distance calibration curve described in Section IV-A, and iv) finally, the ESD algorithm is

Fig. 2.

Positioning application running in a host PC.

activated for position estimation by assuming a random initial guess for node’s position. Moreover, to monitor the behavior of the ESD algorithm, the blind node sends a packet to a host PC in every iteration of the algorithm. In Fig. 2, we have sketched the application running in the host PC, which has been developed for monitoring the activity of the network and for showing the final results. In particular, two different testbeds have been developed and deployed in the Networked Control Systems Laboratory of the European Embedded Control Institute Laboratory (EECI Lab) at the Department of Electrical and Information Engineering, University of L’Aquila, Italy. The first one, which is described in Section IV-A, is used for estimating the RSS–to–distance curve used by the ESD algorithm, and the second one, which is described in Section IV-B, is used to analyze the perfor-

Linear Fitting path loss model 100 RSS = 1.8479(10log (d/d )) + 59.6666 10

0

90

RSS [a. u.]

80

70

60

50 Testbed Linear Fitting 40 −4

−2

0

2

4 6 10log (d/d0)

8

10

12

10

Fig. 3. Deployed testbed using MICAz sensor nodes for ranging calibration.

mance of the ESD algorithm based on real measurements and experiments. A. Testbed for Ranging Calibration In order to estimate the RSS–to–distance calibration curve, a 6 m × 10 m grid of MICAz sensor nodes has been deployed in the EECI Lab, as shown in Fig. 3. The sensors located on the ground floor are receiver nodes, while transmitter nodes are deployed outside the measurement area on the area’s edge, thus yielding a minimum and maximum transmitter–to– receiver distance of 0.5 m and 11.7 m, respectively. Moreover, the transmitters can occupy different heights with respect to the ground floor (from 5 cm to 1.65 m). In order to estimate the calibration curve, the transmitters broadcast packets in a scheduled fashion such that collisions are avoided, while the receivers collect RSS measurements for each received packet, and then send in turn a report with such an information to the host PC. According to [12], [21], RSS–based ranging methods require the knoweledge of the RSS–to–distance curve as follows: d = 10[

RSS−A ] 10n

(4)

where d denotes the transmitter–to–receiver distance, n is the propagation path–loss exponent, A represents the RSS value measured by a receiver that is located 1 m away from a transmitter (i.e., reference distance), and RSS is the actual measured value at distance d. The RSS–to–distance reference curve in (4) is obtained via a least–squares best linear fitting from several RSS measured values (for every receiver node, a 5 minutes acquisition window is considered, where approximately 2000 RSS values are collected). The obtained result is shown in Fig. 4 along with real measurements. Note that in Fig. 4: i) the RSS values are represented in arbitrary units, as provided by the receiver nodes, ii) the distance d in the x–axis is normalized to the reference distance of 1 m, and iii) the fitting parameters are

Fig. 4.

RSS–to–distance ranging model.

A = 59.6666 and n = 1.8479. Note that a smaller path–loss exponent than free space propagation is obtained (i.e., n < 2), this is due to the fact that the receiver nodes are located very close to ground floor, which provides a strong constructive reflected propagation path in addition to the direct one. B. Testbed for Positioning Analysis In order to analyze the performance of the ESD algorithm when used in a real sensor node platform working in an indoor environment, we have reproduced in the EECI Lab the same network scenario already considered in [1], and used for simulative analysis. The deployed testbed is shown in Fig. 5. In particular, we have four anchor nodes1 A1 , A2 , A3 , A4 , and a set of unknown nodes Ui located on the ground floor in positions Th with h = 1, 2, . . . , 16 (i.e., T1 is the furthest node from the anchors, while T16 is the nearest one). The sensor node deployment shown in Fig. 5 has been chosen with the aim to investigate the effect of the network geometry on the performance of the ESD algorithm. In particular, in every Th position an unknown node sees the reference nodes with an increasing angle when moving from T1 to T16 : this corresponds to moving from a scenario (T1 ) with a bad geometry where ambiguities may arise during position estimation, towards a scenario (T16 ) where the unknown node is surrounded by reference nodes, thus giving an ideally optimal network topology for position estimation regardless of the specific algorithm [9]. As a consequence, in this contribution, the angle under which the unknown node sees the reference nodes plays a similar role as the so–called geometric dilution of precision factor used in [22] to account for network topology. The main parameters used in the testbed setup are as T follows: i) the reference nodes’ positions are u ¯ 1 = [2, 1, 0] m, 1 Note that, for sake of simplicity due to network deployment, in this contribution we assume that the four reference nodes are always “startup anchors”. The analysis of ESD performance in presence of “converted anchors” is investigated in [1], [2] by using computer–based simulations, while its analysis via the testbed platform is delayed to a future contribution.

Anchor 4 Anchor 3

Anchor 1 Anchor 2

z x

y

Angle

Fig. 6. Positioning error of the ESD algorithm with respect to the angle under which the unknown node sees the reference nodes (Fig. 5), and the acquisitions taken with the testbed.

Fig. 5. analysis.

Deployed testbed using MICAz sensor nodes for performance

T

T

T

u ¯ 2 = [2, 3, 0] m, u ¯ 3 = [4, 2, 0] m, and u ¯ 4 = [3, 2, 0.5] m; ii) the unknown nodes in Fig. 5 may occupy 16 positions, e.g., T T u1 = [3, 10, 0] m in T1 and u1 = [3, 2.5, 0] m in T16 ; iii) the ranging error model is the one described in Section IV-A, iv) the statistics (e.g., mean value) of the positioning error are obtained by averaging over 40 runs (i.e., acquisitions) of the algorithm for each unknown node; v) the maximum number of iterations for the ESD algorithm is 250; vi) the initial learning speed for ESD is µ = 0.1; and vii) the degrees of freedom for the ESD algorithm are: γ = 0.1, δ = 1.75, θmin = 5◦ , and θmax = 30◦ . V. E XPERIMENTAL AND S IMULATION R ESULTS In this section, we show some experimental and simulative results with a twofold objective: i) to validate the implementation of the ESD algorithm on a commercial off–the–shelf sensor node platform, as the MICAz sensor nodes, and ii) to evaluate the impact of ranging errors and network topology on the performance of the algorithm. For space limitations, we report here just a subset of the obtained results (see also [23]). In Fig. 6, we have reported the experimental results obtained with the testbed shown in Fig. 5. In particular, this figure shows the positioning error with respect to the angle under which

the unknown node sees the reference nodes. For every sensor node’s position (Th ), 40 independent acquisitions have been taken and shown in the figure. Looking at Fig. 5, we figure out that the positioning error increases as the network topology is more prone to ambiguities, as well as when sensor nodes are further away from reference nodes. We also observe that in every independent acquisition the ESD algorithm shows a good stability in terms of performance. Moreover, in Fig. 7 we have reported the mean value of the positioning error with respect to the angle under which the unknown node sees the reference nodes (i.e., this curve is obtained by averaging the 40 acquisitions shown in Fig. 6 for every fixed angle), along with its standard deviation. Superimposed to the experimental results, we have also reported the ones obtained via computer–based simulations in MATLAB using the same experimental ranging model shown in Fig. 4, and having at the input the experimental captures taken with the testbed. The perfect overlap between the two curves substantiates the correct implementation of the ESD algorithm on the MICAz testbed platform using the NesC programming language. This is an important result in order to use the testbed for further analysis aiming at quantifying, via experimental activities, other important performance indexes, such as power consumptions and complexity, as well as at judging the overall performance of the ESD algorithm. Finally, we close with an important remark. In [1], we have analyzed and compared the performance of the ESD algorithm with other localization algorithms by assuming a ranging model independent from the actual distance between the pairs of transmitters and receivers, while in this contribution, since the ranging model is obtained via experimentation, the latter model is a function of the actual distance. This confirms that, for both ranging models, the algorithms seems to have the same behavior with respect to network topology: the performance gets better when the angle, under which the unknown

R EFERENCES

18 TestBed Simulation

16

Positioning Error [m]

14 12 10 8 6 4 2 0

1521 28

45 55

97 Angle [deg]

135

180

Fig. 7. Mean value and standard deviation of the positioning error: comparison between simulation and experimentation.

node sees the reference nodes, gets large. The analysis on how ranging errors and network topology affect on their own and jointly the performance of the algorithm will be further investigated in future contributions [23]. VI. C ONCLUSIONS In this paper, we have proposed and analyzed the performance of a new distributed multilateration algorithm for positioning estimation, which is well suited for Wireless Sensor Networks. In particular, the performance of the algorithm has been analyzed via both computer–based simulations, and experimental activities carried out on a testbed platform deployed in the Networked Control Systems Laboratory of the European Embedded Control Institute, at the University of L’Aquila, Italy. The experimental results have well validated the simulative analysis conducted in previous research works, as well as shown that the ESD algorithm can be efficiently implemented in a commercial off–the–shelf sensor node platform with a minimum effort, yet providing better results than other well known distributed multilateration algorithms [1]. Both the simulative framework and the experimental testbed have been used to analyze the effect of ranging errors and network topology on the performance of the algorithm. Ongoing research activity is mainly focused on the analysis of the energy consumptions of the ESD algorithm, and its comparison with other optimization algorithms. As a matter of fact, in our experimental testbed we have already included a functionality for battery monitoring (see Figs. 1, 2), which is directly linked to the VoltageC component of the sensor node. This functionality is planned to be used in other field tests to analyze via experiments the real consumptions of the proposed algorithm. Finally, the long–term objective of this research work is to include the NesC positioning module described in the present research work in a true network service for supporting realistic monitoring and control applications.

[1] S. Tennina, M. Di Renzo, F. Graziosi, and F. Santucci, “On the Distribution of Positioning Errors in Wireless Sensor Networks: A Simulative Comparison of Optimization Algorithms,” in IEEE Wireless Communications and Networking Conference, Las Vegas, NV, USA, March - April 2008. [2] ——, “Statistical Analysis of Positioning Error Distribution in Wireless Sensor Networks,” in IEEE CHINACOM Conference, Hangzhou, CHINA, August 2008, (accepted, to appear.). [3] ——, “Pearson–based Analysis of Positioning Error Distribution in Wireless Sensor Networks,” in IEEE EUROMICRO Conference, Planning and Optimization of Sensor Network Systems, Parma, Italy, September 2008, (accepted, to appear.). [4] CrossBow’s Motes, CrossBow Wireless Sensor Networks, http://www. xbow.com/Products/wproductsoverview.aspx. [5] A. J. Goldsmith and S. B. Wicker, “Design Challenges for Energy– Constrained Ad–Hoc Wireless Networks,” IEEE Communication Magazine, vol. 9, pp. 8 – 27, August 2002. [6] D. D. Perkins, R. Tumati, H. Wu, and I. Ajbar, “Localization in Wireless Ad Hoc Networks,” in Resource Management in Wireless Networking, Springer US, vol. 16, July 2006, pp. 507 – 542. [7] J. Bachrach and C. Taylor, Handbook of Sensor Networks: Algorithms and Architectures - Localization in Sensor Networks, Wiley, Ed. Wiley, November 2005. [8] D. Niculescu, “Positioning in Ad Hoc Sensor Networks,” IEEE Networks, pp. 24 – 29, July/August 2004. [9] C. Wang and L. Xiao, “Sensor Localization under Limited Measurement Capabilities,” IEEE Networks, pp. 16 – 23, May/June 2007. [10] M. Mauve and J. Widmer, “A Survey on Position–Based Routing in Mobile Ad Hoc Networks,” IEEE Networks, pp. 30 – 39, November/December 2001. [11] N. Patwari, J. N. Ash, S. Kyperountas, A. O. Hero III, R. L. Moses, and N. S. Correal, “Locating the Nodes,” IEEE Signal Processing Magazine, vol. 22, pp. 54 – 69, July 2005. [12] S. Gezici, Z. Tian, G. B. Giannakis, H. Kobayashi, A. F. Molish, H. V. Poor, and Z. Sahinoglu, “Localization via Ultra-Wideband Radios,” IEEE Signal Processing Magazine, vol. 22, pp. 70 – 84, July 2005. [13] C. Savarese, J. Rabaey, and K. Langendoen, “Robust Positioning Algorithms for Distributed Ad-Hoc Wireless Sensor Networks,” in USENIX Technical Annual Conference, Monterey, CA, USA, June 2002. [14] F. Santucci, F. Graziosi, and S. Tennina, “Location Service Design and Simulation in Ad-Hoc Wireless Sensor Networks,” International Journal on Mobile Networks Design and Innovation, vol. 1, pp. 208 – 214, 2006. [15] K. Langendoen and N. Reijers, “Distributed Localization in Wireless Sensor Networks: A Quantitative Comparison,” Computer Networks, vol. 43, pp. 499 – 518, 2003. [16] A. Savvides, C.-C. Han, and M. Srivastava, “Dynamic Fine-Grained Localization in Ad-Hoc Networks of Sensors,” in International Conference on Mobile Computing and Networking, Rome, Italy, July 2001. [17] J. Nocedal and S. Wright, Numerical Optimization, 2nd ed., Springer, Ed. Springer, 2006. [18] S. Slijepcevic, S. Megerian, and M. Potkonjak, “Characterization of Location Error in Wireless Sensor Networks: Analysis and Applications,” in International Workshop on Information Processing Sensor Networks, Palo Alto, CA, USA, April 2003. [19] J. Liu and Y. Zhang, “Error Control in Distributed Node SelfLocalization,” EURASIP Journal on Advances in Signal Processing”, vol. 2008, 2008, article ID 162587, 13 pages, doi:10.1155/2008/162587. [20] D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler, “The NesC Language: a Holistic Approach to Networked Embedded Systems,” in ACM SIGPLAN Conference on Programming Language Design and Implementation, November 2003, http://www.intel-research. net/Publications/Berkeley/081120031244 113.pdf. [21] System-on-Chip for 2.4 GHz ZigBee(TM) /IEEE 802.15.4 with Location Engine (Rev. B), Texas Instruments, http://focus.ti.com/docs/prod/ folders/print/cc2431.html. [22] A. Savvides, W. G. Garber, R. L. Moses, and M. B. Srivastava, “An Analysis of Error Inducing Parameters in Multihop Sensor Node Localization,” IEEE Transaction on Mobile Computing, vol. 4, pp. 567 – 577, November/December 2005. [23] S. Tennina, M. Di Renzo, F. Graziosi, and F. Santucci, “A Simulative and Experimental Study of the Distribution of Positioning Errors in Wireless Sensor Networks,” in preparation.