8
86 PERVASIVE computing Published by the IEEE CS and IEEE ComSoc 1536-1268/06/$20.00 © 2006 IEEE Accessible Ultrasonic Positioning A positioning system’s design must account for several aspects of usability, most of which are deter- mined by the application the system will support. For example, a motion-capture application will require a sys- tem that emphasizes high accuracy and high update rates in sensing user and object positions. Factors such as setup cost or scalability might be less important. Conversely, for a museum tour guide, cost and scalability might be the overriding factors. This application variability precludes a “one size fits all” solution, and achiev- ing the right balance between performance and overall cost is key to making positioning sys- tems more pervasive. To achieve this balance, system designers must negotiate several constraints: Device cost refers to the cost and availability of components and devices constituting a posi- tioning system. Setup complexity refers to the time, effort, and expertise required to implement a positioning system. Few positioning systems have yet achieved off-the-shelf status because installa- tion requires special training. Performance specifies a system’s accuracy, pre- cision, update rate, and coverage. An applica- tion can sacrifice performance to reduce costs as long as it meets its minimum requirements. Form factor addresses mobile devices’ size and shape as well as the positioning infrastructure’s environmental impact. It can determine whether people will actually use a system in a museum or living room, for example. Power consumption determines whether mo- bile units can operate long enough to be use- ful for a specific application. To explore the ubiquitous positioning systems’ design space we use the term accessibility, which encompasses all aspects of usability. We’ve at- tempted to address several of these aspects in the design of ultrasonic positioning systems. Our so- lutions score better in some categories than in others, but our approach has enabled us to design and install more than 20 systems for use in per- manent and temporary applications. The design space of range-based systems Many positioning systems are range-based, meaning they use distance measurements as a foundation for position calculations. Given a suf- ficient number of distances to known points, they can uniquely identify a mobile device. In general, range-based systems differ in the type of archi- tecture they employ and in the physical medium they use to measure distances. These choices affect the resulting systems’ accessibility. The Global Positioning System is an example of a range-based system. GPS represents an ex- treme in terms of its pervasiveness and costs. Its infrastructure costs several billions of dollars but results in a highly scalable system. GPS coverage is wide but limited to areas directly in the line of sight to multiple satellites. This excludes most indoor spaces and urban canyons. In operation, GPS satellites transmit radio signals to mobile receivers. The receivers determine their distances from at least four satellites and estimate their positions on that basis. GPS communication is unidirectional—satellites don’t require knowl- edge of the receivers. By employing this user- centric architecture, GPS can scale easily across The development of inexpensive, easy-to-use positioning technology simplifies the deployment of location-based applications. POSITIONING SYSTEMS Michael McCarthy, Paul Duff, Henk L. Muller, and Cliff Randell University of Bristol

Accessible Ultrasonic Positioning

Embed Size (px)

Citation preview

86 PERVASIVEcomputing Published by the IEEE CS and IEEE ComSoc ■ 1536-1268/06/$20.00 © 2006 IEEE

Accessible UltrasonicPositioning

Apositioning system’s design mustaccount for several aspects ofusability, most of which are deter-mined by the application the systemwill support. For example, a

motion-capture application will require a sys-tem that emphasizes high accuracy and highupdate rates in sensing user and object positions.Factors such as setup cost or scalability mightbe less important. Conversely, for a museumtour guide, cost and scalability might be theoverriding factors.

This application variability precludes a “onesize fits all” solution, and achiev-ing the right balance betweenperformance and overall cost iskey to making positioning sys-tems more pervasive. To achievethis balance, system designers

must negotiate several constraints:

• Device cost refers to the cost and availabilityof components and devices constituting a posi-tioning system.

• Setup complexity refers to the time, effort, andexpertise required to implement a positioningsystem. Few positioning systems have yetachieved off-the-shelf status because installa-tion requires special training.

• Performance specifies a system’s accuracy, pre-cision, update rate, and coverage. An applica-tion can sacrifice performance to reduce costsas long as it meets its minimum requirements.

• Form factor addresses mobile devices’ size andshape as well as the positioning infrastructure’senvironmental impact. It can determine whetherpeople will actually use a system in a museumor living room, for example.

• Power consumption determines whether mo-

bile units can operate long enough to be use-ful for a specific application.

To explore the ubiquitous positioning systems’design space we use the term accessibility, whichencompasses all aspects of usability. We’ve at-tempted to address several of these aspects in thedesign of ultrasonic positioning systems. Our so-lutions score better in some categories than inothers, but our approach has enabled us to designand install more than 20 systems for use in per-manent and temporary applications.

The design space of range-based systems

Many positioning systems are range-based,meaning they use distance measurements as afoundation for position calculations. Given a suf-ficient number of distances to known points, theycan uniquely identify a mobile device. In general,range-based systems differ in the type of archi-tecture they employ and in the physical mediumthey use to measure distances. These choicesaffect the resulting systems’ accessibility.

The Global Positioning System is an exampleof a range-based system. GPS represents an ex-treme in terms of its pervasiveness and costs. Itsinfrastructure costs several billions of dollars butresults in a highly scalable system. GPS coverageis wide but limited to areas directly in the line ofsight to multiple satellites. This excludes mostindoor spaces and urban canyons. In operation,GPS satellites transmit radio signals to mobilereceivers. The receivers determine their distancesfrom at least four satellites and estimate theirpositions on that basis. GPS communication isunidirectional—satellites don’t require knowl-edge of the receivers. By employing this user-centric architecture, GPS can scale easily across

The development of inexpensive, easy-to-use positioning technologysimplifies the deployment of location-based applications.

P O S I T I O N I N G S Y S T E M S

Michael McCarthy, Paul Duff,Henk L. Muller, and Cliff RandellUniversity of Bristol

a large area and use a limitless numberof receivers. In general, user-centric sys-tems are scalable with respect to thenumber of mobile devices they can de-ploy. The downside is that they requiremore computational power inside themobile unit.

A contrasting example is the ActiveBat System.1 It was one of the first sys-tems to use ultrasound to track humansin an office environment. The Bat differsfrom GPS in employing an infrastruc-ture-centric architecture where a centralsystem measures distances to transmit-ting tags and calculates their positions.The centralized application performs allthe tracking computations, so the mobiletags can be “dumb.” As a result, the mo-bile tags consume minimal power, whichextends their battery life. In general,infrastructure-centric systems requirefew or no computations on the mobiledevice but are restricted in their abilityto scale to larger numbers of trackeddevices.

Constellation,2 another infrastruc-ture-centric system, also successfullyemployed ultrasound as a ranging me-dium. Intersense designed Constella-tion for applications that require high-performance motion-tracking, such asthose deployed in the Cave AutomatedVirtual Environment.3 In comparisonwith GPS and the Bat, Constellation’scoverage area is small and the system islimited in the number of trackable de-vices. However, positioning is to mil-limeter precision, hundreds of times persecond. The system achieves this highperformance by fusing ultrasonic rang-ing data with measurements from addi-tional inertial sensors. Although theextra sensors help to improve perfor-mance, they also increase the mobileunits’ cost, size, and power consumption.

The Cricket Location Support Systemis an ultrasound-based system providinguser-centric location support for ubiqui-tous applications.4 It comprises a num-

ber of wireless beacons that transmitradio and ultrasound signals to wirelesslisteners. The listeners use the two typesof signals for proximity detection orrange-based positioning.

A key reason for ultrasound’s popu-larity in indoor positioning systems is therelatively slow speed of sound. Com-pared to radio signals, which measure

time of flight in nanoseconds, ultrasoundmeasures time of flight in milliseconds,thus reducing the cost of the system thatprocesses the signals. The downside tousing ultrasound is its susceptibility toocclusions, echoes from hard surfaces,and noise from everyday objects such askeys or plastic bags.

Ultrasound accessibilityWe’ve identified three accessibility

issues surrounding user-centric, ultra-sound-based positioning systems. First,the mobile receiver unit’s computationsto position itself are a drain on batterylife. Second, setting up the system infra-structure can be expensive in terms oftime and expert labor. Third, most ultra-sound systems use a separate synchro-nizing signal, such as RF, to perform theranging operation, which imposes hard-ware requirements on the mobile andinfrastructural devices.

We’ve developed techniques for im-proving accessibility in each case.

Simplifying the mobile unitUntethered, user-centric systems can

require a large number of computationson the mobile unit. We can overcomethis problem by designing the infra-

structure to minimize the number of cal-culations required for positioning. Ourtechnique is similar to the Bat in that itemploys an infrastructure comprising arectangular grid of ultrasonic transduc-ers, but it differs in maintaining a user-centric architecture.5

Like the Cricket, the receiver calcu-lates time of flight by measuring the dif-

ference in arrival time between a radiosignal and an ultrasonic signal. However,our system uses only one controller unitto generate all signals. The controllertransmits an 8-byte coded packet, calleda ping, using an off-the-shelf 433 MHzFM short-range transmitter. Followinga ping, each ultrasonic transmitter sendsa chirp, separated by 40-millisecondintervals (see figure 1). A chirp consistsof 10 cycles (250 �s) of 40 kHz ultra-sound generated by a PIC microcon-troller. We selected Polaroid open-facepiezo transducers to give optimum re-sults; they provide the widest possibletransmission angle (approximately 140degrees) combined with high output andhigh sensitivity. An 18 V power supplydrives the transmitters.

The mobile device receiving the sig-nals knows the transmission interval’slength, enabling it to compute the dis-tance di to each transmitter i. With theset of distances d0 to dN–1, the receivercan calculate its position using the trans-mitters’ known positions. By constrain-ing the transmitter placement to the cor-ners of a square, we simplify the nontrivialsystem of equations for trilateration.With three transmitters arranged at posi-tions (0, 0, 0), (a, 0, 0), and (0, b, 0), we

OCTOBER–DECEMBER 2006 PERVASIVEcomputing 87

Our technique employs an infrastructure

comprising a rectangular grid of ultrasonic

transducers, but it maintains a user-centric

architecture.

can simplify the x and y coordinates forposition:

Because a and b are constant, the onlynontrivial operations at run time are thesquaring of d0, d1, and d2. Divisions by2a and 2b are trivial if we choose ourcoordinate system appropriately.

Because the calculation requires onlythree multiplications and four additions,we can implement it on a low-power 8-bit microcontroller such as a PIC. So,our mobile receiver consists of nothingmore than an RF receiver, a decoder, aPIC microcontroller, and a dual-opera-tional amplifier. We can mount the com-ponents in a small module that’s at-tached to either a handheld or a wearablecomputer. The unit’s power consump-tion is less than 15 mA, which meansthat the system can operate on two AAbatteries continuously for more than aweek.

Simplifying deploymentOne of the biggest challenges to using

ultrasonic positioning systems is theeffort involved with installing and con-figuring them. For example, installingthe system we just described requires

someone to define a coordinate system,fix the transmitters at precise positionson a measured grid, and configure eachreceiver with the transmitter coordinates.This frequently takes two people work-ing together over 30 minutes. Ideally, wewant to automate calibration.

One autocalibration method usesdedicated hardware mounted on aframe of a known size.6 However, asolution that requires no extra hardwareis preferable. In robotics, researchershave developed real-time simultaneouslocalization and mapping (SLAM) algo-rithms to solve the tracking and cali-bration problems simultaneously. SLAMuses, for example, a camera to trackfeatures in the viewing area while simul-taneously estimating the 3D position ofthese features and the camera.7

Although we don’t believe that real-time SLAM is feasible using narrowbandultrasonics, we can perform a batchcomputation to simultaneously computethe transmitter positions plus the trackmade by the receiver. The resulting algo-rithm reduces installation to a three-step,automated calibration procedure:

1. Fix the transmitters in some randompositions.

2. Walk around with a receiver for 30seconds.

3. Let the system calculate each trans-mitter’s position.

This is a simple, one-off process thatgives the user considerable freedom inplacing the transmitters. For example,there’s no requirement to keep to a par-ticular grid arrangement.8

Autocalibration principles. Autocalibra-tion is only feasible when sufficient dataexists to determine all unknown posi-tions in the system. Each fixed trans-mitter has three degrees of freedomwithin 3D space, as does each positionat which the receiver has measured itsdistance to the transmitters. If the sys-tem takes n sets of distance readings atunknown receiver positions using mtransmitters, we have

• 3m unknown degrees of freedom inthe transmitters’ (x, y, z) fixed coor-dinates,

• 3n unknown degrees of freedom in thereceiver’s (x, y, z) changing coordi-nates, and

• nm known distance measurementstaken between the transmitters andthe receiver.

However, without loss of generality, wecan eliminate three degrees of freedomby fixing one transmitter at our coordi-nate system’s origin. We eliminate threemore degrees of freedom by describingthe planar relationship between the firsttransmitter and two others. This sets theaxes for the 3D coordinate system inwhich to find all other points. This givesus 3m – 6 + 3n degrees of freedom; pro-vided that this is less than nm (the num-ber of known values), the system is over-specified. If we can identify independentrelationships between the knowns andunknowns, we can compute all theunknowns.

Finding transmitter positions. To find thetransmitter positions, we express themeasurements of n readings from each

Ua d d

a

Ub d d

b

x

y

=− +

=− +

212

02

222

02

2

2

,

88 PERVASIVEcomputing www.computer.org/pervasive

P O S I T I O N I N G S Y S T E M S

Radio pulse

Transmitter 0

Transmitter 1

Transmitter 2

Receiver

Time

40 ms

d0

d1

d2

Figure 1. Transmitted and receivedsignals, showing distance-related timedelays of the ultrasound signals.

of m transmitters in terms of the un-known transmitter and receiver posi-tions, giving nm simultaneous equations:

where Ti represents the fixed position oftransmitter i (0 ≤ i < m), Uj represents thejth (0 ≤ j < n) distance measurement posi-tion, and di,j represents the distancebetween Uj and Ti. We assume littlemovement between consecutive readings,which lets us assume that readings fromall transmitters arrive simultaneously. Inreality, there will be a delay of around 40ms between readings, causing a smallerror in the distance measurements.

We solve the equations using theLevenberg-Marquardt minimizationalgorithm,9 the solver, which itera-tively finds a best fit. The solver worksbest with readings from a broad areaof the room, which gives it plenty ofspatial information for drawing itsconclusions. However, the solver canhandle only a limited amount of infor-mation at once; too much data leadsto long execution times with little gainin accuracy.

We meet these requirements by using15 sets of six distance measurements ata time, selected randomly from aroundthe room, giving 90 readings to recover57 unknowns. Our algorithm repeatsthis process several times, and a com-parison function checks how well eachof the solver’s proposed solutionswould extend to the whole data set. Thealgorithm uses the proposed transmit-ter positions to examine how consis-tently we can reproduce the track walkedby the user. Poor solutions generatemore erratic tracks than good solutions,letting us identify the one that’s mostsuitable.

Real-time aspects. The autocalibrationmechanism we’ve described is a batchsolution that requires taking a selection

of readings before producing a solu-tion. In contrast, camera-based SLAMalgorithms work iteratively and aretherefore easier to optimize in realtime. If we could reformulate the batchalgorithm to work iteratively and inreal time, we could use it as a position-ing algorithm similar to the SLAMsolutions.

However, the nature of ultrasonicreadings makes finding an iterativesolution difficult. A camera that tracks2D features will produce angular in-formation, because the X and Y co-ordinates of a feature on the 2D imagetranslate to two angles relative to thecamera. The unknown quantities forthe camera-based problem are the dis-tances between features and the cam-era, which the SLAM algorithms esti-mate. On the other hand, ultrasonicreadings provide ranging informationbut no angular information. So, twoangles must be estimated, constrain-ing a transmitter’s position to some-where on a sphere surrounding the re-ceiver. This problem is more difficultto solve.

Removing dependence on RFThe autocalibration algorithm re-

moves the need for expensive manualsurveys during system installation. Italso affords users the freedom to placetransmitters in convenient, yet arbitrarylocations. These relaxed setup con-straints mean we can’t use the simplegrid-based derivations of position thatequation 1 gives. Determining thereceiver’s position now requires a morecomplex algorithm such as a Kalmanfilter.10

Kalman filtering: Position estimation. AKalman filter provides a method for sta-tistically merging noisy measurementswith a model of the underlying process.For ultrasonic positioning, the methoduses the distances between the receiverand transmitters to model the receiver’sposition. For each iteration, the filter per-forms these steps:

1. Receive a chirp and record its recep-tion time.

2. Using the last estimate for positionand velocity, predict the currentchirp’s reception time.

3. If the difference between the predic-tion and the measurement (scaled bya factor representing the positionconfidence) is below a threshold,integrate the measurement with thestate.

This measurement integration techniqueis known as single constraint at a time.11

SCAAT involves incorporating receptiontimes with the filter as the receiverobserves them. This eliminates errors fromthe simultaneity assumption as well asreducing response time and computationaloverhead. The threshold test in the laststep is useful for eliminating outliers gen-erated by in-band noise and reflections.

Using a SCAAT-based Kalman filter letsus model, in real-time on the mobilereceiver, the transmitting system’s prop-erties and ultimately eliminate RF fromthe design. Models within the filter pro-vide the transmitter-receiver time syn-chronization. These models are based ona type of pseudoranging.

Pseudoranging. Range-based systemsuse several distance measurements in

di j j i, = −U T

OCTOBER–DECEMBER 2006 PERVASIVEcomputing 89

One of the biggest challenges to using

ultrasonic positioning systems is the effort

involved with installing and configuring them.

order to compute position. Pseudorang-ing is an alternative method that systemscan use when the receiver doesn’t haveaccess to the precise time of signal trans-mission. For example, in the case of GPS,each radio signal carries data containingits respective transmission time, but thereceiver’s local clock is offset and skewedfrom the GPS time used by the satellites.The GPS receiver uses an estimator suchas a Kalman filter to estimate the clockskew and offset. The receiver then usesthe clock offset to translate pseudor-anges into distances, which lets the filterfine-tune the clock-skew estimates. Thisiterative process helps to enable a GPSreceiver to work with radio signals as thesolitary communication medium. Weemploy a similar technique to eliminateRF hardware in an ultrasonic position-ing system.12

Pseudoranging introduces two vari-ables to the Kalman filter’s state vec-tor, in addition to the position estimate.The first variable, the chirp transmis-sion period, estimates the time delaybetween chirp transmissions. We ini-tialize the delay to 40 ms and allow thefilter to approximate this value to ahigher precision as the filter iterates.The second variable models the trans-mission time of the first chirp the sys-tem sends.

Our RF-free system allows for moreefficient use of the ultrasonic channel,providing update rates up to 35 Hz. Ithas several other advantages. First, it

removes the need for RF hardware. Theresulting ultrasonic receiver is smallerand less expensive, as the prototype infigure 2 shows. Second, the new vari-ables properly model the clock skewbetween the transmitting infrastructureand mobile receivers crystals. This re-moves an accumulating error in the dis-tance calculations. Third, our radioencoder-decoder hardware caused unpre-dictable timing errors, which are nolonger an issue.

The main disadvantage, in comparisonwith the simple system for mobile unitspresented earlier, is that the RF-free solu-tion requires heavier calculations on themobile unit. This forces us to move thepositioning algorithm’s execution fromthe PIC to an attached wearable or hand-held computer. While we expect mostwearable applications to have such a pro-cessing unit available, the extra posi-tioning overhead takes clock cycles awayfrom other applications and shortens bat-tery life.

Another system that suffers from asimilar disadvantage is Dolphin.13 Ituses broadband ultrasound to locateobjects in a user-centric architecture,and its developers mention pseudo-ranging as a possible implementation.Dolphin eliminates problems with re-spect to interference while improvingaccuracy and estimation rates. How-ever, like our system, it requires heavycomputation on the mobile unit todecode the broadband signals. Addi-tionally, it requires custom-built trans-ceivers, making the system less accessi-ble for general use.

PerformanceWe conducted two experiments to

examine our RF-free solution’s accuracy,comparing the results from an automat-ically calibrated setup and a manuallycalibrated one. Both experiments arebased on the same 200-second chirprecording during which we wheeled the

receiver around on the back of an officechair. We used six transmitters in record-ing the RF-free system.

For the first experiment, we ran theKalman filter over the chirp recordingusing manually surveyed transmitterpositions. In the second experiment, weprovided the filter with autocalibratedtransmitter positions using the combinedRF-ultrasound hardware described ear-lier for autocalibration. The standarddeviation of distances between the auto-matically and manually calibrated trans-mitters is 7.3 cm.

Dynamic performanceFigure 3a shows the first experiment’s

path. The circles are the result of swivel-ing the office chair on its base. The cir-cle diameters are close to the chair’sactual swivel diameter of 60 cm. Figure3b shows the second experiment’s out-put. The autocalibrated system givesslightly different, although comparable,results from the manually calibratedsystem.

The manually calibrated system’s ac-curacy is approximately 1.9 cm in thez-direction and 1.5 cm in the x-y direc-tions. The respective autocalibrated ac-curacy is 4.6 cm and 1.1 cm. Thesemeasures are standard deviation valuesusing the Projected Standard Deviationmethod.14 Figures 3a and 3b highlightthe regions chosen for the calcula-tions; figure 3c compares them inclose view. The red path is from thefirst experiment, while the green pathis from the second experiment. Forthis section of the room, the two pathsdiffer by an average of about 4 cm inthe x direction.

We attribute the larger z-axis error inthe second experiment to the larger dilu-tion of precision along the z-axis, wherethe separation of the transmitters is lessthan that of the x and y axes (we placedtransmitters on or near the ceiling). Ingeneral, a wide distribution of transmit-

90 PERVASIVEcomputing www.computer.org/pervasive

P O S I T I O N I N G S Y S T E M S

Figure 2. A prototype RF-free receivernext to a AAA battery for sizecomparison.

ters along all axes is preferred to maxi-mize the spatial information input to thepositioning algorithms.

Static performanceFor the first 120 seconds of the chirp

recording, we held the receiver station-ary near the room’s center. Figure 3dshows a view of the positions computedfor both experiments during this timeframe. The manually calibrated system’saccuracy is 0.9 cm and 1.2 cm at preci-

sions of 95 percent and 99 percent,respectively. The autocalibrated system’saccuracy is 1.3 cm and 1.6 cm.

As we observed with the mobile re-sults, the receiver’s position in the sec-ond experiment is slightly offset fromthe first experiment. For example, thedistance between the center of eachpoint cluster is 4.3 cm. This falls with-in our expectations, given the errorautocalibration introduces to the sys-tem. Note also that the manually cal-

ibrated cluster is more uniform thanthe autocalibrated cluster, suggestingsystematic errors in the autocalibratedcluster. Again, these errors result fromthe error in the transmitter positionsintroduced by the autocalibrationalgorithm.

Execution time and, hence, compu-tational complexity are inversely relatedto the period of chirp transmission, P.Decreasing P increases the number ofiterations that the Kalman filter per-

OCTOBER–DECEMBER 2006 PERVASIVEcomputing 91

–1.5

–1.0

–0.5

0.0

0.5

1.0

1.5

–2.0 –1.5 –1.0 –0.5 0.0 0.5 1.0 1.5 2.0Ux (meters)

–1.5

–1.0

–0.5

0.0

0.5

1.0

1.5

–2.0 –1.5 –1.0 –0.5 0.0 0.5 1.0 1.5 2.0

U y (m

eter

s)

U y (m

eter

s)

U y (m

eter

s)

U y (m

eter

s)

Ux (meters)

Ux (meters) Ux (meters)

(a)

(c)

(b)

(d)

–0.4

–0.2

0.0

0.2

–1.6 –1.4 –1.2

ManualAuto

0.00

0.02

0.04

0.06

–0.04 –0.02 0.00 0.02

ManualAuto

Figure 3. Positioning experiment results: Computed paths for (a) manually calibrated system and (b) automatically calibratedsystems. Comparison of (c) computed paths and (d) computed stationary position accuracy.

forms for a fixed time period. However,P has a physical lower bound belowwhich collisions between sequentialtransmissions become highly probable.We have observed this minimum periodto be just less than 30 ms (~35 Hz). Inthis case, the Kalman filter requires 33percent of the CPU cycles on a 200MHz StrongARM. The memory re-quirement is approximately 196 bytes,and the code is 10.3 kilobytes binary.Given this small footprint and low com-putational requirements, the algorithmcould be implemented on a low-perfor-mance DSP.

By contrast with the computationalload of our positioning algorithm, theautocalibration algorithm takes ap-proximately 5 minutes on a 1.6 GHzAthlon. Although this is acceptable forthe system’s setup, the autocalibrationstrategy clearly isn’t suitable for real-time positioning.

To date we’ve implementedmore than 20 systems as tem-porary and permanent instal-lations. The systems support

a diverse range of applications, includ-ing a children’s learning game and a cov-isiting experience that tracks both phys-ical and Web-based visitors to a museumas part of the Equator InterdisciplinaryResearch Collaboration; an art experi-ence in collaboration with HP Labs Bris-tol;15 and a system to demonstrate acommercial location-based service.

Although experts erected these instal-lations, end users have set up and eval-uated a small number of more recent sys-tems. We plan to do more experimentsthat task users with setting up and usingthe positioning system. However, thefeedback we’ve received has providedsome insight into how to move our workforward. Besides improving our solu-tion’s robustness, we must address twoimportant issues: system retrofit capa-

bility and data-entry and authoringtools.

Home and museum installationshave revealed serious issues regardinghow to retrofit a system into an envi-ronment where aesthetics are impor-tant. In particular, the wiring betweenthe control unit and the ultrasonictransducers of our system can be aneyesore to occupants, visitors, andcurators. A system such as the Cricketis more suitable in these environments,and combining Cricket devices with anautocalibration algorithm will yield apowerful solution.

With regard to authoring tools, someexisting tools can relate space to anapplication,16 but end users must ab-stract the relationship to a map of theenvironment. Ideally, users should beable to author the contents in the envi-ronment itself. This is especially impor-tant in self-calibrating systems becausethe autocalibrating algorithm’s coordi-nate system might not be spatially mean-ingful. We’ve had some positive exper-ience with learning the relationshipbetween events and location using a sim-ple two-layer neural network, but aproper authoring tool should hide all thisfrom the end user.

Indeed, much work remains tomake using ultrasonic positioning sys-tems easier for the end user. However,we believe that by providing light-weight, easily configurable systems,we’ve come a step closer to an out-of-the-box package for location-basedapplications.

ACKNOWLEDGMENTSFunding for this research comes from the UK Engi-neering and Physical Sciences Research Council,Equator Interdisciplinary Research Collaboration,grant GR/N15986/01 (www.equator.ac.uk).

REFERENCES

1. A. Ward, A. Jones, and A. Hopper, “A New

Location Technique for the Active Office,”IEEE Personnel Communications, vol. 4,no. 5, 1997, pp. 42–47.

2. E. Foxlin, M. Harrington, and G. Pfeifer,“Constellation: A Wide-Range WirelessMotion-Tracking System for AugmentedReality and Virtual Set Applications,” Proc.25th Ann. Conf. Computer Graphics andInteractive Techniques, ACM Press, 1998,pp. 371–378.

3. C. Cruz-Neira, D. Sandin, and T. DeFanti,“Virtual Reality: The Design and Imple-mentation of the CAVE.” Proc. Siggraph93, ACM Press, 1993, pp. 135–142.

4. N.B. Priyantha, A. Chakraborty, and H.Balakrishnan, “The Cricket Location-Sup-port System,” Proc. 6th Ann. Int’l Conf.Mobile Computing and Networking, ACMPress, 2000, pp. 32–43.

5. C. Randell and H. Muller, “Low CostIndoor Positioning System,” Proc. Ubicomp2001: Ubiquitous Computing, LNCS 2201,Springer, 2001, pp. 42–48.

6. J. Scott and M. Hazas, “User-Friendly Sur-veying Techniques for Location-Aware Sys-tems,” Proc. 5th Int’l Conf. UbiquitousComputing (Ubicomp 03), LNCS 2864,Springer, 2003, pp. 45–54.

7. A. Davison, “Real-Time SimultaneousLocalisation and Mapping with a SingleCamera,” Proc. Int’l Conf. ComputerVision, IEEE CS Press, 2003, pp.1403–1410.

8. P. Duff and H. Muller, “AutocalibrationAlgorithm for Ultrasonic Location Sys-tems,” Proc. 7th IEEE Int’l Symp. Wear-able Computers, IEEE CS Press, 2003, pp.62–68.

9. J.J. Moré, “The Levenberg-MarquardtAlgorithm: Implementation and Theory,”Lecture Notes in Mathematics, vol. 630, G.Watson, ed., Springer, 1978, pp. 105–116.

10. R.E. Kalman, “A New Approach to LinearFiltering and Prediction Problems,” J. BasicEng. (ASME), vol. 82, issue D, 1960, pp.35–45.

11. G. Welch and G. Bishop, “SCAAT: Incre-mental Tracking with Incomplete Informa-tion,” Proc. 24th Ann. Conf. ComputerGraphics and Interactive Techniques (SIG-GRAPH 97), ACM Press, 1997, pp. 333–344.

12. M.R. McCarthy and H.L. Muller, “RF Free

92 PERVASIVEcomputing www.computer.org/pervasive

P O S I T I O N I N G S Y S T E M S

Ultrasonic Positioning,” Proc. 7th IEEEInt’l Symp. Wearable Computers (ISWC03), IEEE CS Press, 2003, pp. 79–85.

13. M. Hazas and A. Ward, “A High Perfor-mance Privacy-Oriented Location System,”Proc. 1st IEEE Int’l Conf. Pervasive Com-puting and Communications (PerCom),IEEE CS Press, 2003, pp. 216–233; http://citeseer.ist.psu.edu/hazas03highperformance.html.

14. C. Randell and H.L. Muller, “Exploring theDynamic Measurement of Position,” Proc.6th Int’l Symp. Wearable Computers(ISWC 02), IEEE CS Press, 2002, pp.117–124.

15. R. Hull, J. Reid, and E. Geelhoed, “Creat-ing Experiences with Wearable Comput-

ing,” IEEE Pervasive Computing, vol. 1,no. 4, 2002, pp. 56–61.

16. R. Hull, B. Clayton, and T. Melamed,“Rapid Authoring of Mediascapes,” Proc.Ubicomp 2001: Ubiquitous Computing,LNCS 3205, Springer, 2004, pp. 125–142.

For more information on this or any other compu-ting topic, please visit our Digital Library at www.computer.org/publications/dlib.

OCTOBER–DECEMBER 2006 PERVASIVEcomputing 93

the AUTHORSMichael McCarthy is an Equator-funded research assistant and a PhD student in theUniversity of Bristol’s Mobile and Wearable Computing Group. His research intereststarget the accessibility, accuracy, and robustness of ultrasonic positioning systemsfor wearable computers. He received his BSc in computer engineering from the Uni-versity of Alberta, Canada. He’s a member of the IEEE, ACM, and Association of Pro-fessional Engineers, Geologists, and Geophysicists of Alberta. Contact him at theDept. of Computer Science, Univ. of Bristol, Merchant Venturers Bldg., WoodlandRd., Bristol BS8 1UB, UK; [email protected].

Paul Duff is an Equator-funded PhD student in the University of Bristol’s Mobile andWearable Computing Group. His research interests focus on making mobile andwearable installations easier to deploy. In particular, he investigates methods of au-tomatically calibrating ultrasonic positioning systems. He received his BSc in com-puter science from the University of Bristol. He’s a member of the IEEE. Contact himat the Dept. of Computer Science, Univ. of Bristol, Merchant Venturers Bldg., Wood-land Rd., Bristol BS8 1UB, UK; [email protected].

Henk L. Muller is a reader in the University of Bristol’s Computer Science Depart-ment, where he heads its Mobile and Wearable Computing group and is the group’sprincipal investigator for the Equator Interdisciplinary Research Collaboration. Hisresearch interests include the design and evaluation of computer systems, particu-larly lightweight, mobile systems. He received his doctorate in computer science fromthe University of Amsterdam. Contact him at the Dept. of Computer Science, Univ. ofBristol, Merchant Venturers Bldg., Woodland Rd., Bristol BS8 1UB, UK; [email protected].

Cliff Randell is a research fellow in the University of Bristol’s Computer Science De-partment. His research interests include positioning technologies, context sensing,using audio for mobile applications, and integrating sensors, wiring, and displays in-to textiles. He received his MSc in computer science from the University of Bristol.He’s a member of the IEE and IEEE. Contact him at the Dept. of Computer Science,Univ. of Bristol, Merchant Venturers Bldg., Woodland Rd., Bristol BS8 1UB, UK; [email protected].

THE #1 ARTIFICIAL

INTELLIGENCEMAGAZINE!

IEEE Intelligent Systems delivers the latest peer-reviewed research onall aspects of artificial intelligence,focusing on the pratical, fielded

applications. Contributors includeleading experts in

• Intelligent Agents• The Semantic Web

• Natural Language Processing• Robotics

• Machine Learning

NEW CALENDAR OF AI EVENTSSee www.computer.org/portal/pages/intelligent/

content/calendar.html

IEEE

Visit us on the Web at

www.computer.org/intelligent