mcb ad hoc networks

Upload: -

Post on 29-May-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 MCB Ad Hoc Networks

    1/16

  • 8/9/2019 MCB Ad Hoc Networks

    2/16

    computing and wireless sensor networks is that lap-tops and PDAs have often been considered mobilewhile most of the existing experiments in wirelesssensor networks have concentrated on static net-works of sensors. At the moment, few low-cost

    localization algorithms exist that have been specifi-cally designed with sensor movement in mind.Nowadays, the most simple, off-the-shelf, mecha-

    nism to determine the location of a mobile node is touse the global positioning system (GPS) [19]. GPSoffers 3D localization based on direct line-of-sightwith at least four satellites, providing an accuracyup to 3 m. However, some limitations of GPS askfor alternative localization methods. First, GPS isat the moment barely usable indoors, in clutteredurban areas and under dense foliage. Second, whilethe cost for GPS equipment has been dropping over

    the years, it is still not suited for mass-producedcheap sensor boards, phones and even PDAs. Third,GPS equipment requires both hardware space andenergy, which are two limiting factors for integrationon miniaturized sensor boards. To overcome GPSlimitations, researchers have developed fully GPS-free techniques for locating nodes as well as tech-niques where a few nodes, commonly called anchors,use GPS to determine their location and, by broad-casting it, help other nodes in calculating their ownposition without using GPS.

    This article presents a localization algorithm forwireless sensor networks specifically designed withmobility in mind. One important factor is to letthe wireless sensors benefit from mobility and notonly suffer from it. Existing work [6,8,21,22,24,28]has shown that using mobile anchors in static wire-less sensor networks improves the accuracy of thelocalization algorithm, as more nodes can benefitfrom the anchors position broadcasts and as eachnode can hear more of these. Similarly, mobile sen-sors have a chance to get more information than ina fully static environment. The challenge, however,is that information in a mobile wireless sensor net-work gets invalidated more quickly if all the nodesare moving. In the article [12], Hu and Evans intro-duce a localization algorithm dealing with these dif-ferent characteristics. Their approach builds uponMonte Carlo localization methods used in roboticsto locate a mobile robot. In this article, we presentimprovements to Hu and Evans algorithm leadingto better accuracy and lower computational costwhen localizing nodes.

    The remaining of this article is organized as fol-

    lows. Section 2 presents some background informa-

    tion on localization in both static and mobilewireless sensor networks. Section 3 describes bothour localization algorithm and Hu and Evans algo-rithm that it builds upon. Section 4 gives insight onthe accuracy of the localization and efficiency of the

    algorithm. And finally, Section 5 concludes andgives some directions for future work.

    2. Localization in WSNs

    There are at the moment few localization proto-cols specifically designed for mobile wireless sensornetworks. This section presents the work of differentgroups that aim at enabling localization and sup-porting mobility in a sensor network or in a mobilead-hoc network.

    2.1. Localization algorithms for static WSNs

    Localization algorithms for static wireless sensornetworks are usually classified along several axes.Some algorithms are said to be range-free orrange-based and some use anchors, either one-hopor n-hop away.

    A first distinction between localization algorithmsdeals with the use of anchor nodes. Anchors are usedboth as a localization aid for the nodes that need todetermine their location and as a way to introduce

    static coordinates in a wireless sensor network. Net-work of nodes where no anchors are used usuallyestablish their relative positions, possibly creatingtheir own coordinate system. In general, the moreanchors, the better the accuracy of the estimated loca-tions. However, deploying anchors can be a tedioustask and prove to be a rather expensive way ofimproving the accuracy of the localization algorithm.

    Range-based localization algorithms use tech-niques such as radio signal strength indicator(RSSI) [11,23] or radio and ultrasound with angle-of-arrival [16,18] (AOA) or time-difference-ofarrival [25,26] (TDOA), to measure the distance thatseparates an unlocalized node from an anchor.These distances, also called ranges, are sensitive torange errors, i.e., inaccuracies in the range measure-ments and often rely on additional hardware.

    To be independent of hardware and counterrange inaccuracies, researchers developed range-freemethods that depend uniquely on the information location, hop count a node receives from its neigh-bors, be they anchors or regular nodes. Most range-free algorithms use mathematical [14,15,17,27] or

    geometrical [10,13] techniques to calculate the

    A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733 719

  • 8/9/2019 MCB Ad Hoc Networks

    3/16

    position of an unlocalized node. Centroid [14] is oneof the most simple range-free localization algo-rithms. It estimates the location of a node as thecentroid of the position of the anchors heard, bytaking the mean of both the x and y-coordinates

    of all the anchors. In this article, we concentrateon range-free algorithms that use anchors to calcu-late the location of unlocalized nodes.

    2.2. Use of mobile anchors in static WSNs

    To reduce the costs in terms of both needed hard-ware and deploymenteffort, researchers proposed theuse of mobile anchors to help in localizing nodes[6,8,21,22,24,28]. A mobile anchor performs the sametask as a static anchor broadcasting its accuratelocation but can take the form of a human-carried

    PDA or a robot. In the article [20], Parker and Lange-ndoen propose to combine mobile anchors with astatistics-based localization algorithm. Their resultsshow that an anchor in motion improves the accuracyin resource-poor networks where typically fewanchors are available. By letting an anchor move,the percentage of nodes receiving anchor messagesusually increases. A mobile anchor therefore repre-sents many virtual static anchors. Another researchaspect when using mobile anchors is to determinethe best path an anchor has to follow to maximize

    the improvement in location-estimation accuracy.

    2.3. Particle filters

    In the article [12], Hu and Evans present a range-free localization algorithm for mobile sensor net-works based on the sequential Monte Carlo method[5,9]. The Monte Carlo method has been extensivelyused in robotics [3,29] where a robot estimates itslocalization based on its motion, perception and pos-sibly a pre-learned map of its environment. Hu andEvans extend the Monte Carlo method as used inrobotics to support the localization of sensors in afree, unmapped terrain. The authors assume a sensorhas little control and knowledge over its movement,in contrast to a robot. They target an environmentwhere there is no hardware for obtaining ranginginformation, the topology of the network is unknownand most likely irregular, the density of anchors is lowand both anchors and sensor nodes can move in anuncontrollable manner. The only assumption, thatis, made is that the sensors or anchors move with aknown maximum speed and that the radio range is

    common to the sensors and anchors or is distributed

    together with other messages. This latter point, how-ever, is not described by the authors.

    Using the sequential Monte Carlo localization(MCL), Hu and Evans want to take advantage ofmobility to improve the accuracy of localization

    and reduce the number of anchor nodes that arerequired in the network. The key idea of the sequen-tial Monte Carlo localization is to represent the pos-terior distribution of a nodes possible locations usinga set of weighted samples. Localization happens intwo steps. First, the prediction step leads to choosinga set of samples representing the belief of the noderegarding its location. During the prediction step, anode picks random locations within the deploymentarea, possibly constrained by its maximum speedand the previous location samples. Second, the filter-ing step aims at removing the impossible locations

    from the set of samples. The filtering is done usinginformation obtained from the environment, suchas the location of the anchors in the case of a sensornode or the detection of landmarks in the case of amobile robot. The process repeats and the sensor orrobot is able to update its position estimation.

    In the article [4], Dil et al. recently proposed arange-based version of the MCL algorithm intro-duced in [12]. By using range information fromthe anchors that are one and two hops away fromthe unlocalized node, the authors show that they

    can improve the accuracy of localization by(roughly) 610%. In the latter case, only the well-connected nodes are considered, that is, to say thosethat have heard information from three or moreanchors. In the simulated network, the proportionof well-connected nodes was 65% when consideringonly the anchors that are one and two hops awayfrom the unlocalized node. The improvement inaccuracy, however, comes at a cost since the nodeshave to spend more energy communicating witheach others for forwarding anchor positions.

    3. Localization in mobile WSNs

    Apart from the experiments with the MonteCarlo localization, there are at the moment fewlocalization protocols specifically designed withmobile wireless sensors in mind. Most of the paperspresenting localization algorithms suggest that sup-porting mobility can be achieved by rerunning thelocalization algorithm after some time interval,either static or adaptable. While this is not optimalbut feasible in some cases, the entire class of algo-

    rithms using information from distant nodes or

    720 A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733

  • 8/9/2019 MCB Ad Hoc Networks

    4/16

    iterative approaches will suffer from severe informa-tion decay. At the time the information reaches adistant node that wants to use it, it is very likely thatthe whole network configuration has changed. Anode will therefore always calculate an inaccurate

    location, not due to the lack of information or tothe intrinsic inaccuracy of the calculations it uses,but due to the way its localization algorithm gathersthis information.

    Mobility introduces a real-time component to thelocalization algorithms. Wireless sensor networksare usually considered delay-tolerant [7,21]. To thecontrary, mobility makes a sensor network delay-intolerant: information gathering and locationcalculation should happen in a timely manner,dependent on the speed of both the nodes and theanchors. This means that in a mobile wireless sensor

    network, methods relying on global knowledge suchas calculating the number of hops or distances to allthe anchors in the network are to be avoided. Sim-ilarly, a mobile node cannot really benefit from iter-ative localization techniques where the locationestimation is refined whenever a node receives moreinformation from the network.

    Besides possible information decay, a localiza-tion algorithm deployed in a mobile wireless sensornetwork should be able to cope with the temporarylack of anchors. In other words, the algorithms

    should be able to produce a location estimate insuch conditions if the application layer has a needfor it. In such cases, the location estimation couldeasily be tagged as uncertain, providing a meanfor the application to assess how much the resultsof the localization algorithm should be trusted.

    We believe mobility should be taken into accountdirectly when designing new localization algorithms.A wireless sensor should benefit from mobility andexploit it to improve the efficiency of localizationor get a better accuracy of its position estimates.The algorithms based on Monte Carlo localizationare offering such guarantees. In the following, webuild upon the range-free Monte Carlo localizationalgorithm proposed by Hu and Evans [12] and showthat by improving the way the anchor informationis used, we can improve both the accuracy and theefficiency of the algorithm.

    3.1. Monte Carlo localization

    In [12], Hu and Evans define their localizationalgorithm as follows. The time is divided into dis-

    crete intervals. A sensor node relocalizes in each

    time interval. During the localization-algorithm ini-tialization phase, a sensor picks a random set of Nsamples L0 fl

    00; l

    10; . . . ; l

    N10 g, i.e., random localiza-

    tions within the deployment area. From then on, thetwo steps, prediction and filtering, repeat. During

    the prediction step at timet, a sensor node generatesa new set of samples Lt based on the previous set

    Lt1. In practice, given a location li

    t1 from Lt1, arandom location li

    tis chosen from the disk of radius

    vmax around li

    t1, vmax being the maximum speed ofa node. During the filtering phase, all impossiblelocations li

    tare removed from the new set of samples

    Lt. The filtering occurs by using the positioninformation obtained from both the one-hop andtwo-hop anchors. The one-hop-anchor group iscomposed of the anchors the sensor node hearddirectly. These anchors are assumed to be in the

    radio range r of the sensor node. The two-hop-anchor group is composed of anchors the sensornode did not hear itself but its one-hop neighborsdid. These anchors are assumed to be in the range2r of the sensor node but not within a radius r. Inother words, MCL makes use of negative informa-tion. Note that this usually leads to an improvedlocalization accuracy in an obstacle-free deploymentarea but is quite risky otherwise (see Section 4.7.3).By using information from its neighbors over theanchors they heard, a sensor can learn about the

    anchors that are outside its radio range.Note that after the filtering step, there may be

    less samples in the set than desired. The predictionand filtering process thus repeats until the desirednumber of samples is reached. The location estimateof a sensor at time t is the average of all possiblelocations from the sample set Lt.

    3.2. Monte Carlo localization boxed

    Despite being quite accurate, especially in low-anchor configurations, MCLs efficiency can beimproved. Drawing samples is a long and tediousprocess that could easily drain a lot of energy froma sensor node. Furthermore, the way MCL makesuse of anchor information leaves room for improve-ment. Our version of the sequential Monte Carlolocalization called Monte Carlo localization boxed(MCB) [1] uses steps similar to those of MCL.The major differences lie in the way we use anchorinformation and the method we use for drawingnew samples Fig. 1 provides a summary of theMCB localization algorithm (see [2] for algorithmic

    details).

    A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733 721

  • 8/9/2019 MCB Ad Hoc Networks

    5/16

    The original MCL algorithm uses informationabout one-hop and two-hop anchors at filteringtime only, for rejecting impossible samples. InMCB, we use the information about the anchorsheard to constrain the area from which the samplesare drawn, as explained below. Such a method isknown as sampling from the optimal proposal [5].

    Reducing the area to sample from has two conse-

    quences. First, we draw good samples more easilyand thus faster. Drawing good samples means thatwe have to reject samples less often in the filteringphase, reducing thereby the number of iterationsthe algorithm needs to fill the sample set entirely.The second consequence is implementation depen-dent. Unlike the pseudo-code shown in [12], the

    implementation of MCL sets a bound on the

    Fig. 1. Monte Carlo localization boxed.

    722 A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733

  • 8/9/2019 MCB Ad Hoc Networks

    6/16

    number of times a node can try to draw samples ifits sample set does not contain the required numberof samples yet. This boils down to avoiding thatthe algorithm loops endlessly if no valid samplecan be drawn for a given configuration. In [12],

    Hu and Evans selected a sample-set sizeN

    of 50.A node tries at most twice 10,000 times to draw asample. This happens once with a strict speed con-dition, drawing new samples from the disk ofradius vmax around the old sample, and a secondtime with a relaxed speed condition, drawing newsamples from the disk of radius vmax + deltaaround the old sample. Drawing samples with arelaxed speed constraint only happens if the sampleset is not full after the first series of 10,000 draws.After the 20,000 attempts, the sample set may stillbe not full, having less than 50 good samples. MCL

    does not try to fill the sample set any further. InMCB, we make sure that the sample set is as fullas possible by drawing samples that do not haveto be filtered and therefore do not require a redraw.In most cases, the sample set is full well before10,000 tries. Experiences have shown that 100attempts is ample enough to fill the sample setentirely. By ensuring that the sample set is full in50100 draws, a node can save precious batterypower. Filling the sample set whenever possiblealso has a positive influence on localization accu-

    racy over time.The method used for constraining the area from

    which MCB draws samples is as follows. A nodethat has heard anchors one-hop or two-hopanchors builds a box that covers the region wherethe anchors radio ranges overlap. In other words,this box is the region of the deployment area wherethe node is localized. We call such a box the anchorbox. Fig. 2 shows an example of an anchor box(shaded area) in the case where three one-hopanchors were heard. For each one-hop anchorheard, a node builds a square of size 2r centeredat the anchor position, r being the radio range.Building the anchor box consists in calculatingcoordinates (xmin, xmax) and (ymin, ymax) (see Anchorbox building in Fig. 1).

    In addition, in the simulation, the box-buildingalgorithm cares for inconsistent or out-of-rangeboxes. In other words, for boxes where the mini-mum value xmin or ymin is larger than its respectivemaximum value xmax or ymax, the box is reset eitherto a box with one-hop anchors only, or to the wholedeployment area. In the case where values are out-

    side of the deployment area, for example, xmin is

    negative, we reset the value to the coordinate ofthe border, in our example 0.

    Once the anchor box is built, a node simply hasto draw samples within the region it covers. Sincethe anchor box is a bare approximation of the radiorange of the anchors, we keep a filtering step, as inthe original MCL. And as in the original MCL, theprediction and filtering steps repeat until the sampleset is full or until the maximum number of tries isreached.

    Building an anchor box as described above isused in the case where the sample set is empty, forexample, at initialization time. In the case wherewe already have samples, the bounding box is builtwith an additional constraint, namely, for each oldsample li

    t1 from the sample set Lt1, we build anadditional square of size 2 * vmax centered at theold sample, which we call sample box, (see Samplebox building in Fig. 1). This updated box delimitsper old sample the area a node can move in one timeinterval at maximum. Whenever a node has an ini-tialized sample set but heard no anchor, we buildthe sample box solely based on the maximum nodespeed and the old samples. Box building remains asequential process, where the anchor box is builtfirst and saved for subsequent uses and updatedindependently for each old sample, creating therebythe sample box from which the new samples areeffectively drawn.

    Besides building anchor and sample boxes fordrawing new samples, MCB tries to make the bestpossible use of all information a node received. Thisinfluences the localization algorithm in two ways.

    First, during the initialization phase or whenever

    Anchor

    Radio range

    Radio range

    approximation

    r

    Fig. 2. Building the anchor box.

    A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733 723

  • 8/9/2019 MCB Ad Hoc Networks

    7/16

    the sample set becomes empty, MCB allows a nodeto use two-hop anchor information even if it hasheard no one-hop anchor. Where the originalMCL makes use of two-hop anchor informationonly in combination with one-hop anchor informa-

    tion during the filtering phase, MCB allows a nodeto use all information it got both at prediction andfiltering time. This means that a node that heardonly two-hop anchors can still draw samples usingthese and produce a location estimate.

    Second, whenever a node has heard anchors andhas an already initialized sample set but has failed tofill it (entirely) with new samples, MCB reverts tosolely drawing new samples from the anchor box.In other words, the sample boxes are not used any-more. Not being able to fill the sample set typicallyhappens when too many old samples are inconsis-

    tent with the current connectivity and speed con-straints. To counter old sample inaccuracy anddraw new valid samples, the algorithm would needto let the node travel a too long distance, i.e., morethan what could be covered with speed vmax in onetime interval, to finally meet the connectivity con-straints. In such a case, MCL would try to drawnew samples with a relaxed speed constraint(vmax + delta). Drawing solely from the anchorbox in MCB is equivalent to relaxing the speed.The advantage, however, is that no delta for the

    allowed speed increase has to be chosen in advanceas is the case with MCL.

    4. Evaluation

    This section presents some measurements thatcompare the performance of MCL and MCB. Wealso provide a comparison with two altered versionsof MCB and with a very simple protocol: Centroid.The performance measurements are producedthrough simulation. In this section, we present thealgorithms we used, our simulation procedure, thecharacteristics of the wireless sensor network weused and then provide detailed results of the variousparameters we studied.

    4.1. Simulated algorithms

    In the following, we present the results of thesimulations of five localization algorithms. Wereused and extended the simulator used in [12].First, we ran MCL as specified in [12] and presentedabove. MCB was implemented as described in Sec-

    tion 3.

    For further comparison with the original MCL,we simulated two additional versions of MCB.The first one, referred to as MCF, makes a limiteduse of the two-hop anchors. It uses them at filteringtime only, which matches what MCL does. In prac-

    tice, this means that MCF constructs its anchor boxbased solely on the one-hop anchors (if any). It sub-sequently draws samples from the sample box andfilters them using the connectivity constraint of boththe one-hop and two-hop anchors as MCB does. Inother words, we restrict the information MCF canuse at box-building time.

    The second additional version of MCB we tested,referred to as MCX, makes use of the two-hopanchors in both the filter and when building theanchor box as MCB does. However, the two-hopanchors are not used alone but solely in combina-

    tion with the one-hop anchors (if any). This matcheswhat MCL does too. If a node has heard no one-hop anchors but has heard two-hop anchors, thisinformation cannot be used.

    Finally, in order to compare with a well-known,simple and efficient localization algorithm, we choseto run the Centroid [14] algorithm in our simula-tions. Centroid calculates the position of anunknown node by computing the averages of allthe x- and all the y-coordinates of the anchorsheard.

    4.2. Evaluation procedure

    The selected localization algorithms have beentested with simulated mobile wireless sensor net-works. In the following, we assume a number ofnodes and anchors deployed in an obstacle-free areaof 500 500 units. We thus allow all algorithms touse negative information. Both the nodes andanchors are mobile. The anchors know their loca-tion a priori, for example by using GPS. The radiorange r is set to 100 units for both the anchors andthe nodes.

    A simulation run consists in feeding the simula-tor with a set of parameters such as the number ofnodes in the network, the number of anchors, themaximum speed at which they are allowed move,the degree of irregularity used to model the radiocommunication. Time is discrete in the simulator.The simulated maximum speed of a node thusrepresents the maximum distance in units a nodecan move per time unit. In the following, themaximum reachable speed per time unit is expressed

    as a multiple of the radio range r, in other words

    724 A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733

  • 8/9/2019 MCB Ad Hoc Networks

    8/16

    vmax/r per time unit. The actual distance a node cancover in one time step depends on the duration, thatis, chosen. The length of a time step depends ontrade-offs taking into account the wished localiza-tion accuracy, energy use and radio range. A short

    duration provides better localization accuracy fora fast moving node but drains precious energy.For example, for a time step of one minute and aradio range r of 50 m, a fast walking human(5 km/h) would travel 1.66r per time step. For fastmoving objects, it is of course possible to choosean adaptable time step where a node would localizemore often when moving at high speeds than whenmoving slowly. The study of trade-offs betweentime-step duration, localization accuracy, informa-tion decay and energy conservation policy are leftfor future work.

    For a given set of parameters, the simulatorgenerates a number of random network configura-tions, in our case 20. For each distinct networkconfiguration, we simulate 200 time units. The first100 units, the nodes move without localizing. Foreach subsequent time unit, the nodes first localizeand then move. In other words, the time freezesand we localize the whole network using a snap-shot. There is no movement while the nodes arelocalizing. This means that message transfer isinstantaneous and that the received anchor loca-

    tions are still accurate when a node receives them.As such, the simulation results represent a best-case scenario where no inaccuracy is introduceddue to ongoing movement, communication delays,message loss or collisions, or other anchor-locationinaccuracies (i.e., GPS error). As in [12], we use amodified random waypoint mobility model [30]where each node can vary its speed at each timestep before it reaches its destination. The pausetime is set to 0 and the minimum node speed isset to 0.1 to avoid speed decay [31]. Finally, as sug-gested in [12], we use a sample set of 50 locationestimations.

    To analyze the simulation results, we use the fol-lowing metrics. First, we analyze the localizationerror. As done in [12], the localization error is calcu-lated by measuring the distance between the reallocation of a node and its estimated location.Second, we consider the coverage of the differ-ent algorithms, that is, the percentage of nodes thatwere able to calculate a location estimate. Third, wecompare the processing times necessary for purelyrunning each algorithm, thus excluding potential

    communications to gather anchor locations.

    4.3. Network characteristics

    In the following, unless stated otherwise, we use atotal of 320 nodes divided as 288 regular nodes and32 anchors. The theoretical average number of

    neighbors is 40. We also determine experimentallythe average number of both anchors heard andneighboring nodes. These values decrease as speedincreases.

    The average node speed is somewhat lower thanvmax/2. This effect is due to the mobility model in usein the simulator that selects a distant destination foreach node and lets the node make a step towardsthis destination at a random chosen speed, timeinterval after time interval. In most cases, the finalstep, i.e., the last part of the trip, is traveled at alower speed than the rest of it because the distance

    to the destination is smaller than the maximum dis-tance a node can travel at maximum speed. In manycases, this last distance is very small.

    The average observed anchor density is stable.The number of one-hop anchors a node can hearvaries between 5.08 at speed 0.1r and 4.43 at speed2r. The average observed node density, i.e., thenumber of regular nodes a node can hear, is drop-ping slightly as the speed increases. It varies between44.91 at speed 0.1r and 39.92 at speed 2r.

    Fig. 3 shows how speed influences the chance of a

    node to hear anchors: there are more anchor-freeintervals at slow speeds. We saw that the numberof anchors heard is rather stable with respect tothe maximum node speed. This thus translates asfollows: at speed 0.1r, a node will remain on average11.21 consecutive time intervals without anchors. Atspeed 2r, this average has decreased down to 2.23

    0

    2

    4

    6

    8

    10

    12

    14

    16

    18

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2

    Percentageoftimeintervals

    Maximum speed vmax (r * distance per time unit)

    Average number of consecutive anchor-free time intervals

    Fig. 3. Average number of consecutive anchor-free time

    intervals.

    A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733 725

  • 8/9/2019 MCB Ad Hoc Networks

    9/16

    consecutive time intervals. The higher the numberof consecutive anchor-free time interval is, thehigher the localization inaccuracy as will see in Sec-tion 4.4.

    Finally, on average, 78.29% of the nodes are well-

    connected, i.e., have heard at least three one-hopanchors. This ranges from 78.74% for speed 0.1rto 74.96% for speed 2r.

    4.4. Localization error

    Originally, the simulator we extended (see [12])considered the localization error for both the local-ized and the non-localized nodes together. The non-localized node were simply placed in the middle ofthe deployment area. Fig. 4 shows the localizationerror including the non-localized nodes. In addition,we are also considering the localization errorexcluding the non-localized nodes (Fig. 6) and the

    localization error for the well-connected nodes, thatis, having heard three one-hop anchors or more(Fig. 7).

    4.4.1. Localization error including non-localized

    nodes

    Fig. 4 shows the localization error including thenon-localized nodes, that is, including the nodesthat are placed in the middle of the deployment areabecause they were not able to compute a locationestimate. Nodes can be non-localized for severalreasons. First, they heard no anchor. This is typi-cally the case with Centroid as it cannot produce alocation estimate if no anchor is heard. In the caseof Monte Carlo localization, this can happen atthe beginning of the deployment when there is no

    previous sample set to build from. Second, in the

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2

    Localizatio

    nerror(ratioofradiorange)

    Maximum speed vmax (r * distance per time unit)

    MCLMCBMCXMCFUSC

    Fig. 4. Localization error (including the non-localized nodes).

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 20

    10

    20

    30

    40

    50

    Averagenumberofsamples

    Maximum speed vmax (r * distance per time unit)

    MCLMCBMCXMCF

    Fig. 5. Average number of samples.

    0

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    0.35

    0.4

    Localizationerror(ratioofradiorange)e

    xcludingnon-localizednodes

    Maximum speed vmax (r * distance per time unit)

    MCLMCBMCXMCFUSC

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2

    Fig. 6. Localization error (excluding the non-localized nodes).

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    Localizationerror(ratioofradiorange)forwell-connectednodes

    Maximum speed vmax (r * distance per time unit)

    MCLMCBMCXMCFUSC

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2

    Fig. 7. Localization error (well-connected nodes).

    726 A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733

  • 8/9/2019 MCB Ad Hoc Networks

    10/16

    case of Monte Carlo localization, a node that hasheard anchors can sometimes still be non-localized.This happens when the algorithm is not able to fillthe sample set rapidly enough: the maximum num-ber of random draws has been reached and thenew sample set is still empty. This can be the casewhen the region to draw from is large and the areawhere the anchors radio range overlap is small incomparison. Not being able to localize a node withanchors can also happen when the sample setbecomes empty for some inconsistency reasons.

    Inconsistencies in a nodes sample set generallyoccur after a period during which the node hasheard no anchor. The new location estimations pro-duced recursively from the old sample set graduallybecome less accurate as time passes and still noanchor is heard. Once an anchor is heard again, itcan occur that all the new samples are rejectedbecause they do not meet connectivity and speedconstraints. Not being able to localize a node whenanchors were heard is clearly unacceptable as itleads only to wasting energy and should be pre-vented as much as possible.

    Fig. 4 shows that MCL is rather sensitive to slowand high speeds while the curve for medium speeds,i.e., for a node moving at maximum between 20%and 70% of the radio range during one time interval,remains rather flat. The localization error for theMCB variants (MCB, MCF, MCX) as well as thatof Centroid (USC) are rather independent of thenode maximum speed and only show a slight deteri-oration of the accuracy as the maximum speedincreases.

    The behavior of the MCL localization error with

    respect to the maximum speed has several causes.

    Slow motion gives less chances to a node to hearanchors. More precisely, the average number ofanchors heard remains quite stable as the speed var-ies, however, the time a node can remain anchor-lessis on average longer. Fig. 3 shows the average num-

    ber of consecutive time intervals that a node spendswithout anchor at various speeds. The reason forMCLs loss in accuracy for slow speeds is clear fromFig. 3: the slower an anchor-less node moves, theless chance it has to encounter a new anchor quicklysince the whole network moves only in small steps ateach time interval.

    At slow speeds, nodes are thus more often pro-ducing location estimates without being able touse anchor locations. This increases the inaccuracyof the set of samples over time. In the worst case,nodes are localized in the middle of the deployment

    area if no valid sample can be drawn once an anchoris heard again. This effect is also noticeable in thecoverage results shown in Fig. 9. Note that the neg-ative effect of slow motion was also observed by Huand Evans in [12] for MCL.

    For larger values ofvmax, such as 0.8r and above,the motion of the nodes allows them to hearanchors more often and this limits the decay ofthe sample set. However, since the distance a nodecan travel in a time unit is larger, the area fromwhich the random samples are drawn also increases.

    This affects the accuracy in a negative way. Whilethe average number of anchors a node hearsremains rather stable and the average number ofanchor-less time intervals decreases as the speedincreases (Fig. 3), the average number of valid sam-ples MCL is able to draw for high speeds consider-ably decreases as shown in Fig. 5. The coverageMCL achieves for high speeds is also decreasing

    0

    0.5

    1

    1.5

    2

    2.5

    3

    0 10 20 30 40 50 60 70 80 90 1000

    5

    10

    15

    Localizationerror(ratioofradiorange)

    Percentageofoc

    curences

    Percentage of anchors used/heard

    MCL localization errorMCB localization errorUSC localization error

    Number of occurrences

    Fig. 8. Localization error per number of anchors heard (speed1r).

    0

    20

    40

    60

    80

    100

    Percentageoflocalizednodes(excludingthenon-

    stablesteps)

    Maximum speed vmax (r * distance per time unit)

    MCLMCBMCXMCFUSC

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2

    Fig. 9. Percentage of nodes localized.

    A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733 727

  • 8/9/2019 MCB Ad Hoc Networks

    11/16

    (Fig. 9). The impact of the maximum speed onMCL is thus purely due to the way the algorithmproduces its samples. Hu and Evans also noticedthis increase in inaccuracy in [12]. They did not pro-vide a detailed study of the coverage and average

    number of samples though.The behavior of the MCB variants (MCB, MCF,MCX) is not as dramatically affected by the maxi-mum node speed as it is the case with MCL. Themain reason is that the average number of samplesthe MCB variants can draw is rather stable withrespect to speed as shown in Fig. 5. This improvesthe coverage as shown in Fig. 9 and the overallaccuracy. This behavior is due to the more efficientway the MCB variants draw their samples.

    4.4.2. Localization error excluding non-localizednodes

    Fig. 6 shows the localization error excluding thenon-localized nodes. Here, the general trend is thatthe accuracy of each algorithm is improved. Theaccuracy of Centroid, for example, is improved by7.2% on average by excluding the non-localizednodes. The improvement is 9.4% on average forMCL, ranging from 3.76% to 15.76% (speed 0.05r)and even 63.99% (speed 2r). The improvement inthe case of MCB is negligible (0.02% on average).

    This is due to the fact that most nodes are localizedand very few are thus excluded in Fig. 6. MCF andMCX follow a trend similar to that of MCB butshow an improvement of 0.5% on average whenexcluding the non-localized nodes.

    As a matter of fact, we observe that the improve-ment in accuracy of the MCB variants over MCL ismainly gained by improving the coverage. Forspeeds 0.2r0.8r, the improvement obtained by theMCB variants is marginal. For lower and higherspeeds, the MCL curve shows the impact of thereduced average number of samples.

    Comparing the curves of MCB to these of MCFand MCX, we see that the localization error ismostly identical. Only for slow speeds, for 0.05r0.4r, are MCF and MCX more accurate thanMCB. This demonstrates that increasing the cover-age and maintaining a high average number of sam-ples has a price. Where MCF and MCX declare anode as non-localized, MCB keeps drawing samplesand produces a location estimate. Recall that MCBcan produce location estimates based solely on two-hop anchors, which MCF and MCX do not do. In

    other words, increasing the coverage has thus a cost

    in accuracy. This effect is the most pronounced forspeeds up to 0.2r.

    4.4.3. Localization error for the well-connected nodes

    Fig. 7 shows the localization error for the well-

    connected nodes, that is, to say the nodes havingat least three one-hop anchors. The curves followhere the trend ofFig. 4 where the localization errorincluding the non-localized nodes is shown. Allalgorithms show an improvement in accuracy whenonly the well-connected nodes are considered. Thisimprovement ranges on average from 2.37% forMCB, 2.4% for MCL, and 2.6% for MCF andMCX to 12.22% for Centroid, when compared withthe values from Fig. 4. All algorithms also improvetheir accuracy if we compare the results with thoseof Fig. 6 (4.9% for Centroid, 2.3% for MCB, 2.1%

    for MCF and MCX), except MCL (7%). Thisillustrates the fact that even with well-connectednodes and thus in theory enough anchors to pro-duce a reasonable location estimate, MCL is notalways able to localize a node. This is mostly dueto MCLs inefficiency when drawing samples.MCB avoids such a waste of energy and can localizea node in such cases. Remember that MCB canrevert to using solely the anchor box whenever anode has failed drawing new samples from its oldsample set. Reverting to the anchor box allows a

    node both to reinitialize a decayed sample set withfresh and valid samples and to localize based onvalid (anchor) information.

    4.4.4. Localization error per number of anchors heard

    Fig. 8 shows the distribution of the localizationerror with respect to the number of anchors heardat a maximum speed of 1r. The dotted curve showsthe percentage of occurrences (right-hand y-axis),that is, to say how often nodes could heard a givennumber of anchors. The number of anchors is givenin percent as well (x-axis). In the simulation we useda total of 32 anchors. In this case, we see that thenodes heard a maximum of 16 anchors (50%).Above 50% of anchors, there is no data and boththe number of occurrences and localization errorare set to zero. The figure shows that, as expected,the localization error decreases as the number ofheard anchors increases. The effect is the most dra-matic for Centroid which even becomes more accu-rate than MCL beyond 6 anchors (18.75% ofanchors with an accuracy of 0.292r for MCL and0.282r for Centroid). We also notice that the MCL

    curve displays a small peak around 50% of anchors

    728 A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733

  • 8/9/2019 MCB Ad Hoc Networks

    12/16

    heard. This is due to an increase in the number ofunlocalized nodes. This is due again to the wayMCL draws samples: at speed 1r, the area to samplefrom is rather large, while with many anchors, thearea where the connectivity constraint are met is a

    rather small. This leads to sample sets with few orno samples. A similar phenomenon can be seen atslower speed with more than 50% of anchors (fig-ures not shown here).

    4.5. Coverage

    Fig. 9 shows the percentage of nodes that couldbe localized, i.e., for which a location estimate wasproduced, independently of how many anchors theyheard. The coverage of Centroid is on average96.62%. That of MCL is 92.13% on average, rang-

    ing from 96.87% (speed 0.45r) to 86.44% (speed1r) down to 44.81% (speed 2r). This comes fromthe fact that MCL is not able to draw enough goodsamples from a large draw area in which the overlapof the anchors radio range is small. This occurs ingeneral with high maximum node speeds. In theworst case, the new sample set remains empty lead-ing to a non-localized node. The average coveragefor MCB is extremely stable with respect to maxi-mum node speed and stays around 99.98% (varia-tion starts from the third decimal place). The

    average coverage is 99.78% for MCF and 99.79%for MCX, which shows that neglecting informationreduces the coverage. Both MCF and MCX are verystable too.

    4.6. Processing time

    Another factor positively influenced by the wayMCB draws samples is the processing time, that is,to say, the time needed by the algorithm to producea location estimate. We consider here only the com-putation time and not the time needed for commu-nicating, that is, to say gathering anchor positions,listening to neighbors and forwarding anchor mes-sages. Communication time is network-dependentand is identical for all the Monte Carlo localizationvariants as they all need to communicate with bothone-hop and two-hop anchors. Only Centroid com-municates less as it does not consider the two-hopanchors. We measured the processing time throughsimulation on a PC.

    The processing time of the Monte Carlo localiza-tion variants depends on several factors. First, as

    the maximum number of samples Nin the set grows,

    more samples have to be drawn and processing timealso increases. There is of course a trade-off betweenthe maximum number of samples in the set, theaccuracy of the localization and the processing time.In [12], Hu and Evans provided an analysis of the

    impact of the maximum size of the sample set. Weobtained similar results with our algorithm thoughthe maximum number of samples can more easilybe reduced with MCB than with MCL.

    Second, the maximum number of random drawsthe algorithm is allowed to make also has an influ-ence on the processing time. In the original MCLimplementation, the maximum number of drawsper sample is set to two times 10,000 draws for 50samples, once with the maximum speed vmax and asecond time with the relaxed maximum speedvmax + delta. More precisely, MCL allows two times

    10,000 draws with an uninitialized sample set, andtwo times 200 draws per sample (maximum 50 sam-ples) with an initialized sample set. With similar loopvalues, MCB is 4050% faster while its accuracy andcoverage are better than that of MCL and its averagenumber of samples was higher (i.e., the sample setwas full more often). These tests and those thatfollow were conducted using a 200 200 unitsdeployment area with one unknown node and 32anchors. The radio range was set to 50 units andthe maximum speed to 50 units per time interval.

    Thanks to its simplicity, Centroid performs muchfaster than any Monte Carlo localization variants. Itruns in 0.0095% of the time needed by MCL and0.0168% of the time needed by MCB when bothMCL and MCB are using the original random-drawparameters, i.e., 10,000 draws with an uninitializedsample set, 200 draws with an initialized sampleset, 50 samples in the set at maximum.

    Next, we compared MCL and MCB processingtimes for identical localization error when excludingthe non-localized nodes. To obtain this identicallocalization accuracy for MCL and MCB, we variedthe loop boundaries of both algorithms. We keptthe maximum number of samples unchanged (50samples). In the case of MCL, we let the algorithmdraw samples 1,000,000 times, once with the maxi-mum speed vmax, and a second time with the relaxedmaximum speed vmax + delta. For an initializedsample set, we allow 20,000 tries twice for each ofthe 50 samples. With MCB, we use a maximum of100 draws for an uninitialized sample set. For aninitialized sample set, MCB uses 50 draws fromthe sample box and, in the case of a partially full

    new sample set, it allows at maximum 100 extra

    A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733 729

  • 8/9/2019 MCB Ad Hoc Networks

    13/16

    draws from solely the anchor box. At speed 1r,MCL was able to produce 48.7227 samples on aver-age and MCB 48.2153. The resulting localizationaccuracy was 13.9% of the radio range for MCLand 13.8% for MCB. The coverage was 98.38% for

    MCL and 99.96% for MCB. The relative processingtime was 100% for MCL and 6.238% for MCB. Thisdemonstrates the fact that MCB is much faster thanMCL for a similar localization accuracy. Even witha slightly lower average number of samples, thecoverage of MCB is better than that of MCL.

    4.7. Other parameters

    We studied the influence of a number of otherparameters on our localization algorithm. This sub-section briefly describes the results of our

    experiments.

    4.7.1. Influence of anchor motion

    In Section 4.4, we saw the influence of speedwhen both nodes and anchors have an identicalmaximum speed. In this section, we study the influ-ence of anchor motion on the unknown nodes, moreprecisely, we study the impact of mobile versus sta-tic anchors.

    Our simulations show that using static anchorswith mobile unknown nodes has a very limited

    impact. With unknown nodes moving at slowspeeds, the static anchors allow MCB to improveits accuracy by about 1.5% (for speed 0.2r with aradio range r of 50 units, considering only the local-ized nodes). As the maximum speed increases, theimprovement keeps decreasing and finally using sta-tic anchors even introduces a slight inaccuracy atspeed 0.8r and higher. MCL shows a similar behav-ior while the localization accuracy of Centroidremains slightly worse with static anchors for allmaximum speeds (varying between 0.3% and 0.1%additional inaccuracy).

    As the loss in localization accuracy is rathersmall, static anchors could be used at our advantagein protocol extensions: (1) a mobile node can deduceit is moving since there is no doubt about who ismoving anymore: the node or the anchor. Anchorscould even broadcast a special tag stating theyare static. Scenarios with both static and mobileanchors could provide an attractive setting for local-ization; (2) static anchors fit the static infrastruc-ture scenario we encounter so often in urban or

    office setting, thereby making deployment morerealistic.

    4.7.2. Influence of node and anchor density

    As could be expected, increasing the total num-

    ber of anchors improves the accuracy of all the stud-ied localization algorithms. Centroid is verysensitive to the number of one-hop anchors a nodecan hear while the Monte Carlo-based localiza-tion algorithms still manage to localize nodes evenwhen few anchors can be heard. The coverage ofCentroid degrades dramatically in anchor-poorscenarios.

    Varying the total number of non-anchor nodesalso has an impact on MCL and MCB as they usetwo-hop anchors. Increasing the total number of

    non-anchor nodes increases the average numberof neighbors of a node and thereby its number oftwo-hop anchors. This also improves accuracy, upto a certain point where it makes no differenceanymore, i.e., a node then only gets duplicatetwo-hop anchors via different neighbors.

    4.7.3. Influence of negative information

    The original MCL algorithm makes use ofnegative information to filter samples obtainedwhen considering the two-hop anchors. While this

    appears to work well in an obstacle-free deploymentarea, at least in simulation, this can lead to a largerlocalization error when obstacles block or dampenthe radio signal of two otherwise close-by nodes.Such a scenario is illustrated in Fig. 10. We consider

    Radio range

    Deployment area

    Wall

    B

    AC

    Radio range * 2

    Fig. 10. Deployment area with an obstacle.

    730 A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733

  • 8/9/2019 MCB Ad Hoc Networks

    14/16

    three nodes, A, an anchor; B and C, two unknownnodes. Because of the wall blocking the radio signal,node C cannot hear anchor A directly but insteadgets information about the anchor location via nodeB. When using negative information, node C would

    conclude it cannot be located within the radio rangeof the anchor (white disk) and should be located inthe donut-shaped light-gray area (two hops away).Subsequently, all the samples contained withinradio range of the anchor A are rejected. In a con-figuration such as the one depicted in Fig. 10, thisresults in placing node C further away from nodeA than it really is and thus introduces localizationinaccuracy.

    Running a simple test with one wall in a100 100-unit deployment area were almost all thenodes could hear each others revealed that using

    negative information has an impact on localizationaccuracy. We used 288 unknown nodes and 32anchors with a radio range r of 100 units and a max-imum speed of 0.5r. As illustrated in Fig. 10, a wallran vertically through the deployment area and didnot touch the borders of the deployment area inorder to get configurations where a node couldnot hear an anchor through the wall in one-hop but could reach it in two hops via a neighbor, asit is the case with nodes A, B and C.

    When not using negative information, MCB con-

    sistently produced a localization error of 31.79%.The identical figures are explained by the fact that(1) all the nodes were well-connected in such an envi-ronment and (2) MCB localized all the nodes. Theoriginal MCL, using negative information, produceda localization error 34.02% of the radio range onaverage for the localized and non-localized nodestogether or for the well-connected nodes. When con-sidering the localized nodes only, MCL produces alocalization error of 51.36%. It is worth noting thatMCL managed to localized only 13.83% of the nodeswhile MCB localized them all, and that the non-localized nodes (placed in the center of the deploy-ment area) actually improved the localization accu-racy in the case of MCL. Finally, MCL didexperience difficulties when drawing samples andits average sample-set size is only 3.3955 samples.MCB did fill its sample set more systematically andreached an average sample-set size of 49.9991.

    The results of this preliminary experiment leadus to think that using negative information shouldbe avoided in environments with obstacles that

    can totally block the radio signal or degrade itsquality and thus alter the radio range. This meansthat drawing conclusions based on the facts that anode did not hear another one are error-prone inan environment with obstacles. We are investigat-

    ing this issue further with more complex obstacleconfigurations, such as an office floor, and variouslocalization protocols. We also plan to study theinfluence of radio-range variability and determineif it causes similar problems when using negativeinformation.

    5. Conclusion and future work

    Localization in wireless sensor networks is a

    topic that has received much interest in the pastyears. Most proposed algorithms concentrate onstatic networks of sensors with either static ormobile anchors. The problem of localizing nodesin a mobile wireless sensor network has not yetreceived much attention although mobility needsto be taken into account at design time.

    In this paper, we presented a localization algo-rithm that builds upon Hu and Evans findings[12] and that makes Monte Carlo localization morelightweight for use in wireless sensor networks. By

    making better use of the information a node gathersfrom one-hop and two-hop anchors and by restrict-ing the area a node has to draw samples from to a(small) box, we improve the whole process of local-izing. The results of simulations of our algorithm,called Monte Carlo localization Boxed, show thatit allows a node to get an improved accuracy at areduced cost. Most importantly, it ensures that anode having received information from anchors willbe localized and it will not pay a high price in termof processing time and energy expenditure becauseof the inefficiency of the localization algorithm (ran-dom draws). Our simulation results also show thatthe overall coverage of the localization algorithmis improved by ensuring that the sample sets are fullas often as possible.

    Future work encompasses a detailed study of theenergy versus accuracy trade-offs of MCB. In partic-ular, we will study how the variations in the sample-set size, number of draws and duration of a timestep affect the accuracy of localization. We willrun new experiments in environments with obstacles

    A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733 731

  • 8/9/2019 MCB Ad Hoc Networks

    15/16

  • 8/9/2019 MCB Ad Hoc Networks

    16/16

    [29] S. Thrun, D. Fox, W. Burgard, F. Dellaert, Robust MonteCarlo localization for mobile robots, Artificial Intelligence128 (12) (2001) 99141, May.

    [30] J. Yoon, M. Liu, B. Noble, Random Waypoint ConsideredHarmful, IEEE INFOCOM, San Fransciso, CA, USA, 2003,MarchApril.

    [31] J. Yoon, M. Liu, B. Noble, Sound Mobility Models, ACMMobiCom, San Diego, CA, USA, 2003, pp. 205216,September.

    Aline Baggio is currently a postdoctoralfellow at the Delft University of Tech-nology. Her research focuses on locali-zation algorithms for wireless sensornetworks and support for sensormobility. From 1999 to 2004, sheworked at the Vrije Universiteit inAmsterdam. There, she concentrated onadding support for mobility and repli-cation in distributed location services.

    An extension of this work has beenapplied to the World-Wide Web under the form of distributed

    redirection. She received her Ph.D. in Computer Systems in 1999from the University Pierre et Marie Curie in France.

    Koen Langendoen is an associate pro-fessor in the Parallel and DistributedSystems group at Delft University ofTechnology, The Netherlands. Heearned an M.Sc. in computer sciencefrom the Vrije Universiteit, Amsterdamin 1988 and a Ph.D. in computer sciencefrom the Universiteit van Amsterdam in1993. His research interests includesystem software for parallel processing,wearable computing and, in particular,

    wireless sensor networks. Since 2002, he heads a sensor net-working group at Delft working on localization algorithms,MAC protocols, and various pilot applications

    A. Baggio, K. Langendoen / Ad Hoc Networks 6 (2008) 718733 733