proceedings of mobisys 2003: the first international conference on mobile systems ... ·...

15
USENIX Association Proceedings of MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services San Francisco, CA, USA May 5-8, 2003 © 2003 by The USENIX Association All Rights Reserved For more information about the USENIX Association: Phone: 1 510 528 8649 FAX: 1 510 548 5738 Email: [email protected] WWW: http://www.usenix.org Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein.

Upload: others

Post on 21-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

USENIX Association

Proceedings of MobiSys 2003:The First International Conference on

Mobile Systems, Applications, and Services

San Francisco, CA, USAMay 5-8, 2003

© 2003 by The USENIX Association All Rights Reserved For more information about the USENIX Association:

Phone: 1 510 528 8649 FAX: 1 510 548 5738 Email: [email protected] WWW: http://www.usenix.orgRights to individual papers remain with the author or the author's employer.

Permission is granted for noncommercial reproduction of the work for educational or research purposes.

This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein.

Page 2: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association 1

Single Reflection Spatial Voting: A Novel Method for DiscoveringReflective Surfaces Using Indoor Positioning Systems

R. K. HarleLaboratory for CommunicationEngineering, University of

Cambridge, [email protected]

A. WardUbiquitous Systems Limited

[email protected]

A. HopperLaboratory for CommunicationEngineering, University of

Cambridge, [email protected]

Abstract

We present a novel method of using reflectedpulses in indoor ultrasonic positioning systems toinfer the details of reflective objects in the envi-ronment. The method is termed Single ReflectionSpatial Voting (SRSV), and we perceive its ma-jor use to be in the field of pervasive computing,where automated object and surface discovery isemerging as an important feature.

We demonstrate use of the method in the caseof searching for vertical walls using an existingultrasonic position sensor system (the Bat sys-tem). We find that valuable information can beextracted from reflection data using SRSV, andare able to construct a model of the room using asimple algorithm. We conclude that this methodcan be used to extract base data upon which tobuild hypotheses about the environment, givenfurther sensor analysis.

We also briefly address the potential usesof SRSV in Ultra-Wideband positioning, au-tonomous navigation, and map building.

1 Introduction

Much of the current research in location sys-tems concentrates on creating an accurate and re-liable indoor positioning system, the perceiveduse of which is as a major component of a per-vasive, context-aware computing system. Indoorpositioning systems typically rely on the propa-gation of a physical wave phenomenon, such as

ultrasonic or radio waves. The prevalence of re-flecting surfaces in indoor environments drasti-cally reduces the accuracy and reliability of posi-tions returned from such systems. We present amethod to turn this apparent weakness into a po-tential strength. We use reflected signals to helpautomate the process of modelling the environ-ment within which the sensor network is operat-ing.

Our experiences with a context-aware system[1] tell us that useful and reliable applicationsstem from having both an accurate position foran object or person, and from knowing detailsabout the environment within which they are po-sitioned. Presently, such environmental informa-tion is painstakingly entered by hand (for exam-ple, wall vertices, table positions, workstation lo-cations) to allow a meaningful virtual model ofthe world to be formed (see Figure 1).

Once a useful model is established, it must alsocope with the inherent dynamic nature of humanenvironments. The applicability of a model di-minishes rapidly as it loses synchronisation withthe world. To remain useful, context-aware sys-tems must be able to adapt to changing environ-ments. Our experiences suggest that such adapta-tion can only stem from the coordination of sen-sor systems and processing methods. In this pa-per, we present a powerful method based on theprinciple that important environment informationis superimposed on the positioning signals, inparticular the reflections.

Given details of reflecting surfaces, we can de-

Page 3: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association2

Figure 1: A screen shot from a real-time environment monitoring application in daily use.

velop better models of the world, allow for dy-namic reconfiguration of the environment, andpotentially provide feedback into a positioningsystem to improve accuracy. We stress that,whilst we present much of the paper in the con-text of an ultrasonic positioning system (the Batsystem), the general method has potential usesoutside of ultrasonic systems.

The essential requirement of the method isthat the positioning medium interacts with ob-jects within the environment, giving rise to re-flected signals. Standard media used in position-ing systems to date (ultrasound [16, 12, 14], radio[2, 3]) all suffer from environmental reflections,and this has traditionally been a large source oferror. In addition, technologies expected to offerubiquitous positioning in the future, such as UltraWideband radio, are susceptible to reflections.

2 The Bat Ultrasonic Location Sys-tem

The Bat system is a real-time positioning sys-tem for people and objects in an indoor environ-ment [16]. The system has previously been im-plemented as a major component of a context-aware, pervasive computing system [1]. One

installation of the Bat system covers the upperfloor of the Laboratory for Communication Engi-neering, encompassing an area of approximately550m2, and provides a true context-aware com-puting environment in daily use.

As described in [1], the Bat system is basedaround wireless active tags (“Bats”) worn byusers or attached to objects. A radio signal froma central controller triggers each Bat in turn, ata known time. When triggered, each Bat emitsan ultrasonic pulse, which is received by a ma-trix of receivers placed at accurately known loca-tions in the ceiling. By measuring the time de-lays between emission and reception of pulses,we gain estimates of the distance travelled by thepulse to each receiver within range. We then use amultilateration algorithm to convert the distancemeasurements to a location for the Bat in three-dimensional space [10].

2.1 Identifying Reflections ThroughMultilateration Algorithms

The Bat system operates in indoor office-likeenvironments, which contain many objects andsurfaces that specularly reflect ultrasound (suchas computer monitors and walls). The pulse emit-ted by a Bat may travel directly to a receiver (a

Page 4: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association 3

(a) Three obstructions give rise to a direct-path signal peak (1) and three multipathedpeaks (2,3,4) in the power profile of the re-ceived signal

(b) A further obstruction hinders the direct-path signal

Figure 2: Illustration of multipathed signal propagation between a receiver, � , and a transmitter,�

direct-path signal), but may also arrive after a re-flection from one or more objects or surfaces inthe environment (a multipathed signal). Multi-pathed signals do not provide information aboutthe true (direct-path) distance of the Bat from thereceiver, and hence it is important to identify andeliminate them from further processing.

In situations where a direct-path signal reachesa receiver, the Bat system can be sure that anysubsequent pulse arrivals correspond to multi-pathed signals, because any reflected paths mustnecessarily be longer than the direct-path (Fig-ure 2(a)). However, it is not always the case thatthe direct-path signal reaches the receiver, and inthese situations the first signal to arrive at the re-ceiver will, in fact, be a multipathed signal (Fig-ure 2(b)). The positioning algorithm used in theBat system is therefore designed to identify andreject multipathed signals, and we present herea simplified overview of that algorithm and theheuristics it uses (further details are available in[16]).

Following the emission of a pulse by a Bat,and its subsequent reception, we have a series oftime-of-flight measurements. We convert thesetime measurements to distances using the well-documented temperature variation of the speedof sound [6]. We wish to derive four quantitiesfrom this information; the components of the Batlocation ( � , � , � ), and an estimate of the position-ing standard error. To do so, then, we require aminimum of four (non-multipathed) readings.

The process of identifying and excluding mul-tipathed signals begins by forming a nonlinearmodel [13] of all the data, providing an estimateof the four quantities we are interested in. The

error estimate is used to evaluate the model fit.If it exceeds the known accuracy of the system(approximately 3cm), we evaluate the residualsfor each distance measure and order them numer-ically. Traditional nonlinear model algorithms or-der the magnitude of these residuals and discardthe data associated with the largest and reprocess,thereby removing the outliers and improving theresult. We use a different approach to capture thephysical principle that no signal may arrive at areceiver early (corresponding to movement fasterthan the speed of sound), but only late (corre-sponding to a multipathed measure).

If we define � � � � � � � � as the measured dis-tance from a Bat to a particular receiver, � � � � � �as the distance calculated by the model for thesame quantity, then we can define the residual, � ,as being directly proportional to

� � � � � � � � � � � ! � � � � � � $ (1)

If we assume that the model has converged spa-tially close to the correct position, this quantityis negative when the model requires the signalto exceed the speed of sound, and positive whenthe signal appears to be multipathed (relative tothe model predictions). We can adopt this as ageneral heuristic, since it fails only in the un-likely case of the majority of received signals be-ing multipathed due to a specular object, causingthe model to converge on a reflection image.

Since the speed of sound is fixed, but multi-pathed signals are likely, we maintain the signof the residual, and discard the largest positiveresidual as multipathed. We repeat the processof modelling and discarding the measurement as-sociated with the largest positive residual until

Page 5: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association4

we reach the required accuracy level, or untilthere are less than four measures remaining (afailure). Consequently, when we return a posi-tion, we have classified the initial distance mea-sures into two groups; consistent with the posi-tion (assumed non-multipathed), and inconsistent(assumed multipathed). The Bat system receiversare also capable of recording the time-of-arrivalof any second pulse they receive (which corre-sponds, as described earlier, to a multipathed sig-nal). With each position, then, we can identifymultipathed signals by:

1. Rejection from the positioning algorithm asdescribed above.

2. Reception of a second pulse at a receiver thatreturned a first pulse consistent with the po-sition calculated.

Whereas the Bat system rejects this reflection in-formation as being of no use in computing loca-tion information, we now turn our attention to amethod of using this data to derive informationabout the environment.

3 Single Reflection Spatial Voting(SRSV)

Barshan has described a spatial voting schemefor determining two dimensional surface profilesusing ultrasonic rangefinders mounted on a mo-bile robot [5, 4]. The method associates a circu-lar arc centred on the known position of the ultra-sonic transceiver for each range measure, with aradius equal to half the distance covered by theultrasonic pulse. By collecting a series of re-sults from sufficiently different transceiver posi-tions (generated by a number of rangefinders onthe robot and/or by moving the robot platform),we expect to observe the highest density of arc in-tersections along the locus of the surface, as illus-trated in Figure 3. Spatial voting splits the two di-mensional plane into a regular grid of cells. Witheach cell, we associate a number representing thenumber of arcs which intersect its bounds. Wecan then extract a representation of the surface,quantised to the cell size, by searching the gridfor high densities of intersections.

We present here a novel and significant ex-tension to Barshan’s method which uses a threedimensional Single Reflection Spatial Voting(SRSV) grid. This approach differs from that of

Figure 3: An illustration of the two dimensionalsurface extraction based on rangefinders (shownas black circles). The grey area represents thesurface of interest, and the arc of each circle seg-ment corresponds to the range reading from aspecific rangefinder.

Barshan, since we use a physically distinct ul-trasonic transmitter and receiver, an infrastruc-ture that is in place and static, and a series ofonly multipathed measurements. SRSV is par-ticularly suited to the pervasive computing envi-ronment because it allows incremental updatingas more reflections are captured, but does not re-quire that the details for each reflection be indi-vidually stored, thereby reducing storage require-ments. We make the assumption that multipathedpulses have reflected only once; we have demon-strated that the method is sufficiently robust thatmultiple reflections do not render the method in-valid in practice. In three dimensions, with aseparate receiver and transmitter, the two dimen-sional circular arcs described by Barshan becomeprolate spheroids with foci at each of the receiverand transmitter locations, and the SRSV grid seg-ments the volume into regular cubes (“cells”).Analysis of the density of spheroid intersectionsin each cell provides data about the environment,such as the locations of walls and specular ob-jects.

3.1 The Prolate Spheroid of Reflection

Consider two points in three dimensional spacerepresenting a transmitter, � , and a receiver, � ,and a signal that propagates between them via asingle specular reflection from a point on a sur-face, � . If the distance travelled by the signalis known (through time-of-flight measurementfor example), the allowed locus of the reflectionpoint is a prolate spheroid with major axis � and

Page 6: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association 5

Figure 4: The reflection geometry for a single reflection from a point � between a transmitter at � anda receiver at � , with a multipathed length of � � � � � . The thick outline (right) shows the associatedprolate spheroid, and the thin outline shows the elliptical locus of � if we assert that it is on a verticalwall.

minor axis (the shape formed by rotation of atwo dimensional ellipse about its major axis), asshown in thick outline in Figure 4. Such a sur-face can be described in its principal co-ordinateframe (marked � in Figure 4) by the matrix for-mulation, � � � � � � � (2)

where � represents a general three dimensional

vector in � , and the matrix � � has components,

� � � �� � � � �� �

� �� � �� ���

(3)

where and � are are the major and minor axesas shown in Figure 4. We derive these quanti-ties from the path length travelled by the reflectedpulse, � , as defined in Figure 4. Using simple ge-ometrical arguments, we find:

� �� � � ! " � ! � " (4)

� � ��To describe this in co-ordinate frame , our ‘realworld’ frame, we apply a translation to make theorigins coincident, and use Rodrigues’ rotationformula [11] to calculate the relevant rotation ma-trix, % , such that � � % �

! � � � �� � � ! � $ $ $ � % �

! ' $ (5)

By transforming a regular three dimensionalgrid in system to � we can use geometry tocalculate the intersection of this prolate spheroidwith the cells, forming an SRSV grid for arbi-trary surfaces. However, in pervasive systems weare usually able to restrict our interest to a subsetof surfaces such as vertical walls, near-verticalscreens, horizontal tables, etc. Such restrictionsallow refinement of the method. As an example,in this paper we will be primarily interested invertical surfaces, for which we wish to restrict thelocus of � to spheroid points with a normal lyingin the horizontal plane of . To see this, considerthe function,)

$ � "

! � " � " ! � " (6)

which represents the path length for � to

to � .The quantity * )

$ will point in the direction of

the sum of the unit vectors of � � !

$ and � � !

$ ,

which bisects the angle between these two vec-tors. Thus, * )

$ points in the direction of the

normal to the reflecting surface for a specular re-flection from � to � . The spheroid is defined bythe relation )

$ � � (7)

and hence * )�

$ points in the direction of the

normal to the spheroid at

. i.e. The tangentplane at any point on the spheroid is the reflectingsurface that reflects a signal from � to � , and bysymmetry the locus of � is then the intersectionof the spheroid with a plane which passes throughthe origin of � .

Page 7: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association6

To describe this intersection, we define a fur-ther co-ordinate system, � � , which has the sameorigin as � , but with the � � � direction normal tothe intersection plane, and the � � � direction per-pendicular to this, but within the vertical planecontaining both � and � (see Figure 4). We canlink the frames � and � � by a rotation matrix,% � , such that � � � % � � (8)

To set up the axes in practice, we calculate apoint of intersection ( � in Figure 4) of the verti-cal plane through � and � with the spheroid, andwith a horizontal normal. Then we calculate apoint on the spheroid with � � � � and a horizon-tal normal. Combined with the � origin, we thenhave three non-co-linear points; sufficient to de-rive the plane normal, � � . When � � is normalised,(8) implies that

% � � � � �� �� ���

(9)

We choose � � � to point from the origin to the point� , which implicitly defines the direction of

� inthe Cartesian � frame. We can then relate theframes � and � � by a rotation matrix % � andassert, � � � % � � � % � � � � � � � � � � � � � � � (10)

which, referring back to (2), defines an ellipticalintersection in the � � � � � plane.

Once the ellipse parameters have been calcu-lated, we can perform SRSV by transforming thevertices of SRSV cells to that co-ordinate system,and searching for interceptions of the faces withthe ellipse.

3.2 Using The Spheroid Normals

We can extend the basic premise of SRSV byaccounting for surface normals, vastly simplify-ing any subsequent analysis. When a spheroidintersects a cell, there is an associated averagenormal to the spheroid within that cell. If thereis to be a reflecting surface giving rise to thatspheroid within that cell, it must have a normaldirection parallel to the spheroid normal. Thus,we can associate each SRSV vote within a cellwith a particular three dimensional normal direc-tion. In practice, we associate a series of angularbins with each cell, and add votes to the angu-lar bin that contains the average spheroid normal

within that cell. If a planar reflecting surface ex-ists within that cell, the SRSV count for the an-gular bin containing its normal direction shouldvastly exceed the counts in the remaining angularbins.

When considering vertical walls, we need onlyassociate cells with angular bins in the horizon-tal plane. We calculate the average normal to theellipse within each cell it intersects, project thatdirection into the horizontal plane and incrementthe relevant angular bin for the cell. This is a par-ticularly useful representation when searching forwalls, since we are really searching for contigu-ous, vertical, planar surfaces that extend acrossmultiple cells, all with high SRSV counts in theangular bin corresponding to the surface normal.

4 Implementation and Results

Experimental validation was performed bypost-processing real reflections collected fromthe Bat system. We have logged the reflections,caught in a communal coffee area, for Bats wornby personnel for a period of two days, producinga distribution of sightings and reflections typicalfor an area in daily use. Figure 5 illustrates theshape of the area and any fixed objects (hatched)and identifies three key Regions within it (la-belled 1,2,3). Region 1 is used as a through-way,with people rarely stopping. Consequently, wesee a low number of sightings here. Region 2is a general communal area, where people tendto congregate and remain for extended periods oftime, building up large numbers of sightings. Re-gion 3 is an area with a low density of Bat re-ceivers in the ceiling, and a high density of ceil-ing obstructions. Relative to Regions 1 and 2,sightings are rare here.

Figure 5(b) shows the actual distribution ofsightings collected during the test period. Thisdata was processed using an SRSV cell size of0.2m, using 6897 collected reflections. The ini-tial result is shown in Figure 6; the SRSV countsshown are the sums of each vertical column ofSRSV cells. This ‘collapsed column’ representa-tion helps to capture the fact that the walls arevertical and thus all cells in a vertical columnprovide evidence for a wall at that position. Thehighly non-uniform usage of the area by person-nel is reflected in the results. We see a high den-sity of intersections in Region 2, a direct resultof users remaining in roughly the same place formany sightings, building up intersections in that

Page 8: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association 7

(a) A schematic view ofthe communal coffee area

5

10

15

20

0

5

10

15

20

25

30

35

0

1000

2000

3000

Bat

Sig

htin

gs in

Col

umn

(b) The distribution of sightings collected during testing

5

10

15

20

0

5

10

15

20

25

30

35

0

2

4

6

8

(c) A representation of the room walls using the same collapsedcolumn grid as (b). The arrows show door positions.

Figure 5: The testing area

Page 9: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association8

5 10 15 20

020

40

0

1000

2000

3000

5 10 15 200

500

1000

1500

2000

2500

Correct Region 2Wall Positions

View B View B

SRSV Count

SRSV Count

Figure 6: The column-collapsed SRSV grid for the coffee area from a series of viewing angles

5

10

15

20

05

1015

2025

3035

0

50

100

150

200

250

300

350

400

SR

SV

Cou

nt

n

Figure 7: The SRSV count for angular bins containing direction � � � ��.

Page 10: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association 9

(a) Correct representation of the test area(grey cells represent doors).

(b) Results of SRSV (grey cells show theeroded sighting distribution)

Figure 8: SRSV Results

Region. There are strong maxima in the SRSVcounts in Region 2, which correctly trace out thewalls on either side. Note that the SRSV count in-side this Region is non-zero, increasing with thenumber of sightings, despite the fact that therecan be no wall there. This potentially misleadingsituation illustrates the need to store the SRSVnormal directions in angular bins. Figure 7 showsthe same data, but for a specific angular bin ofwidth

��

containing the wall normal direction.We see that the SRSV counts within Region 2 aredrastically reduced, since the high counts in Fig-ure 6 are distributed across the angular bins in theSRSV cell.

We can further improve each angular view byexcluding cells in a column that has seen a sight-ing of a Bat (thereby implying no wall can bethere). In practice, to account for positioning in-accuracies and the small possibility of a wall anda Bat coexisting within a cell of finite size, wehave found it best to erode the area of sightingsby one cell in every direction. This leaves us witha core shape of sightings that we are confidentcovers cells that do not contain walls. To encap-sulate this fact, we zero the SRSV count for anycolumn within which a Bat was sighted.

To extract the wall positions, we applied the

following simple algorithm for the four normaldirections that follow the axes of the SRSV grid:

1. Create the SRSV grid for the angular bincontaining the normal (e.g. Figure 7) of in-terest.

2. Set SRSV counts to zero for cells containedin the eroded region of sightings

3. Scan the grid perpendicular to the normal di-rection, amalgamating cells with non-zeroSRSV counts into single ’walls’, allowinga maximum gap of two cells (0.4m) withineach. This gap allows for wall continuityacross regions of low or no occupancy.

4. Calculate the average SRSV count for eachwall, and assign the value to each cell withinthe wall.

5. Scan the grid parallel to the normal direc-tion, taking the cell with the maximum aver-age SRSV count as containing a wall.

The results of applying this algorithm are pre-sented in Figure 8, and are encouraging.

The position and orientation of the longer sidewalls has been correctly extracted, with the over-all room shape being determined to a good ap-proximation. Despite the vastly different uses of

Page 11: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association10

(a) A graphical representation of the room and itsfurniture

(b) Correct Representation of the room on theSRSV grid

(c) Results of SRSV (grey cells show erodedsighting distribution)

Figure 9: The results of applying SRSV to another room.

Page 12: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association 11

Regions 1 and 2, we are still able to extract thewall positions with good accuracy. The door po-sitions, shown in Figure 8(a), are clearly present,with the exception of the top-most door. Thisdoor leads to an office that was not in use dur-ing testing, and hence the door remained closed,completing the wall.

Importantly, the method is clearly superior tosimply using the sighting distribution to deter-mine the room shape, as shown by the shadedregion of Figure 8(b). The SRSV method is ca-pable of inferring wall positions in areas pene-trated by ultrasonic signals, but where Bats arenot sighted. This is a useful feature in officeenvironments, where desks and machines typi-cally obstruct users from entering areas adjacentto walls.

The extraction algorithm used works wellwhen we specify the normal axes to examine.However, the vast majority of office buildingscontain rectangular rooms, so such a scenario isnot contrived. The principal axes may be enteredby hand, or we may make the assumption thatonce the orientation of one room or wall is de-termined, we give precedence to the same normaldirection (and those parallel and perpendicular toit) throughout the building. Determination of asingle wall orientation is possible by simply look-ing for a long sequence of cells with locally highSRSV counts in angular bins consistent with thesequence normal, or by using more complex im-age techniques such as a Hough Transform [8].

For comparison, Figure 9 gives a representa-tion of another room within our Laboratory, andthe results of applying SRSV analysis to sight-ings recorded within it over a period of threedays. Here, we find the results to be similarly en-couraging. The absence of a colleague who sitsin the top left corner of 9(a) during the testingperiod resulted in poor determination of walls inthat area, as expected. However, the remainingwall positions were correctly determined. In par-ticular, it is interesting to note that the filing cab-inets marked in 9(a) were treated as an extensionof the wall nearby due to the large, smooth andvertical surface they presented.

5 Data Evolution

To demonstrate the evolution of SRSV data assightings are collected, a further dataset was col-lected from within a long, straight corridor. Thisgave a further opportunity to test the method, and

a very strong feature to examine, in the form ofone of the walls.

A total of 4000 sightings were analysed, col-lected over a period of one day. Figure 10 showsa series of views of the collapsed grid count for anormal direction perpendicular to one of the wallsafter different numbers of sightings, � . The cor-rect wall position lies within the bin labelled 10in the graphs. The evolution of a peak within thisbin is clearly evident.

It is important to realise that we cannot accu-rately define the number of sightings required toextract a feature. There is no guaranteed numberof single reflections associated with each sight-ing, and furthermore no guarantee that the sight-ings are distributed in such a way as to producereflections along the entire length of the feature.This can be observed in Figure 10 by the apparentlack in difference between 10(f) and 10(g). Nev-ertheless, the graphs shown in Figure 10 serve toillustrate a typical evolution.

6 Further Applications of SRSV

SRSV offers the opportunity to detect staticand dynamic details of great use to the perva-sive computing community. Whilst in this paperwe have applied SRSV analysis in the contextof static vertical walls, the concept is not lim-ited to them. We can also detect other verticalfeatures, such as dynamic walls (temporary parti-tions), door positions and states (open or closed),and positions and orientations of monitors (par-ticularly useful in the context of hot-desking).

Note that the analysis algorithm for the SRSVgrid may need to be tailored to extract features oflimited extent, such as monitors. The algorithmpresented above searches for long, contiguouslines within the collapsed grid, which we wouldnot expect to observe for monitors. Instead, wewould search for well-defined, bounded planes ofnormals at heights useful for displays.

It is possible to apply the same ideas to non-vertical surfaces by a straightforward coordinaterotation. In the specific case of the Bat system,however, there is little information to be gainedabout non-vertical surfaces. This is due to thedirectional nature of the ultrasonic emission froma Bat.

Since the Bat receivers are designed to be ceil-ing mounted, the ultrasonic emission from Bats isdesigned to be directed primarily upward, towardthe ceiling. Furthermore, for most of time Bats

Page 13: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association12

Page 14: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association 13

are worn by personnel at heights consistent withthe characteristic standing and sitting heights ofthose people. Non-vertical surfaces, such as ta-bles, are consequently below the usual height ofthe Bat, and it is unlikely that a signal from theBat will reflect from them and reach the receivers.

Use of the method to find only vertical surfaceswith Bat system data does not imply any limita-tion of its use with other positioning systems. Forexample, signals in proposed UWB positioningsystems would be expected to reflect extensivelyfrom surfaces of all orientations within the envi-ronment.

7 Conclusions and Further Work

We have presented a novel method for sur-face discovery using reflections. Our results in-dicate that it can potentially provide a rich sourceof world information. Our implementation hascentred around wall detection, which we havedemonstrated with good results based on a rel-atively small data set. The method in general,however, is easily extended to search for non-vertical reflecting surfaces, by using intersectionof prolate spheroids and SRSV cells which recordintersection normals in three dimensions.

We envisage this data source being combinedwith other sources (many of which are discardedby today’s positioning systems) to provide robustinformation about the environment. In particu-lar, we hope to use these, and related, techniquesto determine the position and orientation of largeflat-screen displays - a common source of prob-lems for ultrasonic positioning which we intendto compensate for. Furthermore, the usage ofarchived personnel positions can be used to de-rive complementary environmental information,such as region connectivity and the position oflarge scale objects [9].

Whilst the results presented here are foran ultrasound-based system, the theory appliesequally to any system that can resolve multi-pathed effects. In particular, the methods pre-sented here should transfer directly to Ultra-Wideband (UWB) radio positioning systems,which have the intrinsic capability of resolvingand timing multipathed signals [7].

Beyond the niche of pervasive computing, themethod can be applied to autonomous navigationand map building. In these fields, we typicallyuse a variety of ranging and signal bouncing tech-niques to permit a robot to ‘learn’ its environment

using probabilistic methods [15]. SRSV herecould provide a useful extra information sourcethat improves the probability calculations. Fur-thermore, such a robot can be programmed toadopt a motion pattern that targeted specific ar-eas of uncertainty within an environment.

8 Acknowledgements

The authors are grateful to both the EPSRCand AT&T for supporting this work through a re-search grant and CASE award respectively.

References

[1] M. Addlesee, R. Curwen, S. Hodges,J. Newman, P. Steggles, A. Ward, andA. Hopper. Implementing a sentient com-puting system. IEEE Computer, 34(8), Au-gust 2001.

[2] P. Bahl and V. N. Padmanabhan. RADAR:An in-building RF-based user location andtracking system. In INFOCOM 2, pages775–774, 2000.

[3] P. Bahl, V. N. Padmanabhan, and A. Bal-achandran. Enhancements to the RADARuser location and tracking system. Tech-nical report, Microsoft Research, February2000.

[4] B. Barshan. Ultrasonic surface profile de-termination by spatial voting. In Pro-ceedings of the IEEE Instrumentation andMeasurement Technology Conference, Bu-dapest, Hungary, pages 583–588, May2001.

[5] B. Barshan and D. Baskent. Comparisonof two methods of surface profile extrac-tion from multiple ultrasonic range mea-surements. Meas. Sci. Technology, 11:833–844, April 2000.

[6] D. Bohn. Environmental effects on thespeed of sound. Journal of the AudioEngineering Society, 36(4):223–231, April1988.

[7] Time Domain. PulsOn technol-ogy overview. Technical report,Time Domain Corporation, 2001.http://www.timedomain.com.

Page 15: Proceedings of MobiSys 2003: The First International Conference on Mobile Systems ... · 2019-02-25 · 2 MobiSys 2003: The First International Conference on Mobile Systems, Applications,

MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services USENIX Association14

[8] R. O. Duda and P. E. Hart. Use of thehough transform to detect lines and curvesin pictures. Communications of the ACM,15(1):11–15, 1972.

[9] R.K. Harle and A. Hopper. Using PersonnelMovements For Indoor Autonomous Envi-ronment Discovery. To appear in PerCom2003, 2003.

[10] J. Hightower and G. Borriello. Locationsensing techniques. IEEE Computer, Au-gust 2001.

[11] R. M. Murray, Z. Li, and S. S. Sastroy. AMathematical Introduction to Robotic Ma-nipulation. CRC Press, 1994.

[12] N. B. Priyantha and A. Chakraborty andH. Balakrishnan. The Cricket Location-Support System. Proceedings of the SixthAnnual ACM International Conference onMobile Computing Networking, August2000.

[13] W. H. Press, S. A. Teukolsky, W. T. Vetter-ling, and B. P. Flannery. Numerical Recipesin C. CUP, 1992.

[14] N. B. Priyantha, K. L. M. Allen, H. Balakr-ishnan, and S. J. Teller. The cricket compassfor context-aware mobile applications. InMobile Computing and Networking, pages1–14, 2001.

[15] S. Thrun. Learning maps for indoor mo-bile robot navigation. Artificial Intelligence,99(1):21–71, 1998.

[16] A. M. R. Ward. Sensor-driven Computing.PhD thesis, Cambridge University, August1998.