xins: the anatomy of an indoor positioning and navigation...

10
XINS: The Anatomy of an Indoor Positioning and Navigation Architecture Yuan Gao * [email protected] Qingxuan Yang [email protected] Guanfeng Li [email protected] Edward Y. Chang [email protected] Dong Wang [email protected] Chengu Wang [email protected] Hang Qu [email protected] Pei Dong [email protected] Faen Zhang [email protected] * Dept. of Computer Science and Technology IIIS Google Research Tsinghua University Tsinghua University Beijing, China Beijing, China Beijing, China ABSTRACT Location-Based Service (LBS) is becoming a ubiquitous tech- nology for mobile devices. In this work, we propose a signal- fusion architecture called XINS to perform effective indoor positioning and navigation. XINS uses signals from inertial navigation units as well as WiFi and floor-map constraints to detect turns, estimate travel distances, and predict loca- tions. XINS employs non-intrusive calibration procedures to significantly reduce errors, and fuses signals synergisti- cally to improve computational efficiency, enhance location- prediction accuracy, and conserve power. ACM Classification Keywords C.3 Special-purpose and application-based systems: Real- time and embedded systems. General Terms Algorithms, Design, Experimentation, Measurement, Per- formance. Author Keywords calibration, inertial tracking, particle filters, location INTRODUCTION Resent years have seen the number of “smart” wireless de- vices such as mobile phones and iPad-like computers grow rapidly. Being able to keep track of locations of moving devices can enhance a number of applications. Therefore, Location-Based Service (LBS) is quickly becoming the next ubiquitous technology for a wide range of mobile applica- tions, such as location positioning, location navigation, location- aware search, commerce, and advertisements, just to name a Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. MLBS’11, September 18, 2011, Beijing, China. Copyright 2011 ACM 978-1-4503-0928-8/11/09...$10.00. few. Current LBS technologies, however, suffer from at least two main shortcomings. The first is the lack of support for indoor positioning and navigation. The second is that the power consumption of receiving GPS and WiFi signals is too high to continuous use. In this work, we propose a signal-fusion architecture to ad- dress the above shortcomings. We name our architecture XINS, where X stands for a signal source that can calibrate a moving object’s location as an external reference. An X can be GPS, WiFi, or location information of a nearby de- vice transmitted over a P2P protocol. The INS in XINS stands for a inertial navigation system, which includes, but is not limited to, motion-sensing devices such as accelerome- ters, gyroscopes, and magnetic sensors. Modern phones like the iPhone and Google Nexus S are equipped with tiny and energy-efficient INS’. The design goals of XINS are (1) to fuse signals from Xs and INS’ to perform accurate location positioning, both indoor and outdoor, and (2) to do so in a power-conserving way. System architectures similar to XINS have been developed before, but with vastly different constraints and at much higher costs. For instance, aircrafts, guided missiles, and submarines have been designed to compute positions and velocities us- ing external references and inertial navigation systems. A mobile phone, though, while equipped with similar motion- sensing devices, can not compute positions and velocities as accurately as the former due to several factors. These in- clude low manufacturing quality originating from cost con- straints, environmental noise, and the dynamic motions of people carrying the devices (as opposed to an aircraft for ex- ample). Moreover, the power usage of acquiring X signals on a mobile phone is much higher as a percentage of total energy consumed compared to that used on e.g., a subma- rine. These factors make the design of XINS exceedingly challenging. XINS consists of three major components. In addition to X and INS, XINS keeps a map of the area it tracks. For indoor scenarios, XINS keeps a 2.5D map depicting the floor plan 41

Upload: others

Post on 21-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XINS: The Anatomy of an Indoor Positioning and Navigation ...infolab.stanford.edu/~echang/XINS-ACM-Ubicomp.pdf · XINS: The Anatomy of an Indoor Positioning ... ubiquitous technology

XINS: The Anatomy of an Indoor Positioningand Navigation Architecture

Yuan [email protected]

Qingxuan Yang†[email protected]

Guanfeng Li†[email protected]

Edward Y. Chang†[email protected]

Dong Wang†[email protected]

Chengu Wang‡[email protected]

Hang Qu†[email protected]

Pei Dong†[email protected]

Faen Zhang†[email protected]

!Dept. of Computer Science and Technology ‡IIIS†Google Research Tsinghua University Tsinghua UniversityBeijing, China Beijing, China Beijing, China

ABSTRACTLocation-Based Service (LBS) is becoming a ubiquitous tech-nology for mobile devices. In this work, we propose a signal-fusion architecture called XINS to perform effective indoorpositioning and navigation. XINS uses signals from inertialnavigation units as well as WiFi and floor-map constraintsto detect turns, estimate travel distances, and predict loca-tions. XINS employs non-intrusive calibration proceduresto significantly reduce errors, and fuses signals synergisti-cally to improve computational efficiency, enhance location-prediction accuracy, and conserve power.

ACM Classification KeywordsC.3 Special-purpose and application-based systems: Real-time and embedded systems.

General TermsAlgorithms, Design, Experimentation, Measurement, Per-formance.

Author Keywordscalibration, inertial tracking, particle filters, location

INTRODUCTIONResent years have seen the number of “smart” wireless de-vices such as mobile phones and iPad-like computers growrapidly. Being able to keep track of locations of movingdevices can enhance a number of applications. Therefore,Location-Based Service (LBS) is quickly becoming the nextubiquitous technology for a wide range of mobile applica-tions, such as location positioning, location navigation, location-aware search, commerce, and advertisements, just to name a

Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, orrepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee.MLBS’11, September 18, 2011, Beijing, China.Copyright 2011 ACM 978-1-4503-0928-8/11/09...$10.00.

few. Current LBS technologies, however, suffer from at leasttwo main shortcomings. The first is the lack of support forindoor positioning and navigation. The second is that thepower consumption of receiving GPS and WiFi signals istoo high to continuous use.

In this work, we propose a signal-fusion architecture to ad-dress the above shortcomings. We name our architectureXINS, where X stands for a signal source that can calibratea moving object’s location as an external reference. An Xcan be GPS, WiFi, or location information of a nearby de-vice transmitted over a P2P protocol. The INS in XINSstands for a inertial navigation system, which includes, but isnot limited to, motion-sensing devices such as accelerome-ters, gyroscopes, and magnetic sensors. Modern phones likethe iPhone and Google Nexus S are equipped with tiny andenergy-efficient INS’. The design goals of XINS are (1) tofuse signals from Xs and INS’ to perform accurate locationpositioning, both indoor and outdoor, and (2) to do so in apower-conserving way.

System architectures similar to XINS have been developedbefore, but with vastly different constraints and at much highercosts. For instance, aircrafts, guided missiles, and submarineshave been designed to compute positions and velocities us-ing external references and inertial navigation systems. Amobile phone, though, while equipped with similar motion-sensing devices, can not compute positions and velocities asaccurately as the former due to several factors. These in-clude low manufacturing quality originating from cost con-straints, environmental noise, and the dynamic motions ofpeople carrying the devices (as opposed to an aircraft for ex-ample). Moreover, the power usage of acquiring X signalson a mobile phone is much higher as a percentage of totalenergy consumed compared to that used on e.g., a subma-rine. These factors make the design of XINS exceedinglychallenging.

XINS consists of three major components. In addition to Xand INS, XINS keeps a map of the area it tracks. For indoorscenarios, XINS keeps a 2.5D map depicting the floor plan

41

Page 2: XINS: The Anatomy of an Indoor Positioning and Navigation ...infolab.stanford.edu/~echang/XINS-ACM-Ubicomp.pdf · XINS: The Anatomy of an Indoor Positioning ... ubiquitous technology

of a building. A 2.5D map suffices because XINS tracksonly the floor level, not the height of the device vertical tothe floor. XINS divides each floor into multiple areas, andidentifies landmarks between them. Our design goal is totrack a mobile device at a landmark and in an area with highaccuracy. The key ideas of XINS are as follows:

1. Detect turns, floor-changes and estimate travel-distances.XINS collects signals from accelerometers, gyroscopesand compasses. Using these signals together with a floormap, XINS determines a user’s travel distance and if theyhave turned or made a floor change.

2. Detect positions. XINS conducts joint inference by con-sidering signals of X and INS, together with an indoormap, to determine a mobile user’s location.

To implement these ideas, XINS faces two daunting tech-nical challenges. First, inexpensive inertial navigation sys-tems are notorious for producing errors due to misalignment,zero bias, and integration drift. A slightly inaccurate read-ing on linear acceleration (accelerometers) and angular ve-locity (gyroscopes) can be integrated into progressively (intime) large errors in velocity, which are compounded intogreater errors in position. Worse yet, the motion of a pedes-trian is “non-smooth” compared to an aircraft. For instance,a mobile device can be carried by different people at differ-ent time and in different manners. It is virtually impossi-ble to tell true signals from noise. To eliminate noise, wedevise non-intrusive calibration schemes. For accelerome-ters, we propose using an optimization framework (combin-ing the Nelder-Mead method and gradient descent) to trans-forme an ill-formed ellipse (due to noisy readings) into asphere with a radius based on the acceleration of gravity (i.e.,9.8015m/s2). The information obtained from the ellipse-to-sphere transformation is then used as parameters to calibratefuture readings. For gyroscopes, we propose the VibrationEnergy Model to determine a pedestrian’s moving directionbased on the Equipartition theorem. These calibration pro-cesses lay down a solid foundation for XINS to obtain accu-rate sensor readings so as to conduct productive multimodalsignal fusion to perform location positioning. In this work,we use particle filters as our fusion algorithm. We showhow we can intelligently use constraints from floor maps andlandmark hints to drastically reduce the number of particlesneeded to perform accurate position prediction.

In summary, the contributions of this paper are as follows:

1. We propose XINS, which uses particle filters to fuse sig-nals from different sources. We show that the usage ofsome signals as constraints can make particle filters workmuch more efficiently.

2. We devise non-intrusive INS calibration schemes to re-duce sensor-reading errors.

3. We propose Vibration Energy Model (VEM), which re-duces the number of integrals from three to one, by com-puting in the dual, energy domain (thanks to the Equipar-tition theorem); and therefore, avoids small errors frombeing magnified.

4. We show that XINS can achieve location prediction ina power conserved way because sample rates on power-consuming WiFi and GPS can be reduced by employingINS to fill the gaps.

The structure of this paper is as follows. We first reviewrelated work. Then we present our proposed XINS. Follow-ing that, we show experimental results of XINS. Finally, weoffer our concluding remarks.

RELATED WORKLBS was first deployed in the turn of the century by PalmVII, Swisscom, Vodafone, and DoCoMo. These first waveof deployment performed location positioning based on thelocations of the nearby cell towers. The accuracy of such anapproach ranges from one hundred to a few thousand me-ters, depending on the density of cell towers. In 2004, theGlobal Positioning System (GPS) was tested successfully towork with a mobile phone by Quadcomm. GPS is now avail-able on most smart phones and can achieve outdoor locationpositioning with approximately ten-meter accuracy. Its ma-jor shortcomings are high power consumption, long TTFF(time to the first fix), and unavailability in urban tunnels andindoor environments.

We survey related work in two areas: indoor positioning andINS calibration.

Indoor PositioningWIFI-Based SchemesWiFi has been shown to achieve three- to ten-meter indoorpositioning accuracy [9, 20]. The achievable accuracy de-pends on two factors: access point density and the location-positioning algorithms employed. Location positioning al-gorithms can be divided into two approaches: signal propa-gation and signal heat maps. The propagation approach in-fers the distance of an object to an access point based onsignal strength. A widely used equation to estimate distancebased on signal strength is the Friis transmission equation.However, due to environmental factors such as antenna ob-struction (a phone can be placed in a purse or in a pocket)and antenna misalignment, the Friis equation may not yieldan accurate estimate. Beyond this, the power at both an an-tenna and a mobile device may be unknown.

The signal heat map approach [6, 9] constructs Radio Fre-quency (RF) signatures at indoor locations. Based on an RFsignature, a mobile device can predict its possible locations.To pin down a particular location with the highest probabil-ity, the work of [12] proposes using motion history infor-mation based on the fact that a person cannot travel a longdistance in a short period of time. The work of [3] intro-duces geometric constraints. And [8] uses expensive imageprocessing techniques to infer locations from photos taken.The major shortcoming of the signal heat map approach isthe laborious site survey cost and time. In addition, whenthe WiFi configuration changes, the affected area must beresurveyed.

42

Page 3: XINS: The Anatomy of an Indoor Positioning and Navigation ...infolab.stanford.edu/~echang/XINS-ACM-Ubicomp.pdf · XINS: The Anatomy of an Indoor Positioning ... ubiquitous technology

INS-Based SchemesAs mentioned in the Introduction Section, inertial navigationsystems have been widely used in e.g., aircraft and guidedmissiles. The INS’ installed on those apparatuses can affordhigh costs and hence achieve high precision. Here, we focusour survey on using inexpensive INS units on indoor posi-tioning.

Using INS units to localize a person is not new. Relatedwork can be broadly classified into two categories accord-ing to how INS units are placed. The work of Woodmanand Harle [18] implements an indoor pedestrian-localizationprototype using a foot-mounted inertial unit. The work of[11] assumes an INS unit to be wore on the waist. Bothschemes make sure that the motion patterns of their INSunits are predictable. In the foot-mounting case, when afoot touches the floor, the INS unit receives a clean sig-nal to start a stride, and this reset is done periodically. Inthe waist-wearing case, the INS unit is expected to movesteadily. However, INS units embedded in a mobile phonecannot enjoy these advantages. A mobile phone can be wornon the waist, placed in a purse, put in a pocket, or swang ina hand.

The work of [4] develops an on-phone pedometer using anaccelerometer. Though the estimated steps may not be veryreliable, it provides a good estimate on travel distance (butwithout orientation). A compass can be used to estimate theuser’s orientation, but a reliable reading requires the userto hold the phone in such a way that the orientation of thephone always agrees with that of the user. Also, compasseson phone are notoriously inaccurate due to severe inferencefrom the phones’ other electronic units. Pack [16] adoptsthe theory that double integration of acceleration gives thedisplacement, but it only works when the orientation of thephone does not change too frequently. Pack also utilizes theGPS signal to periodically correct the estimated velocity andposition.

All these methods which make use of INS do not yet havean effective strategy to combat the progressive errors intro-duced by various INS noises.

INS CalibrationHigh-end sensor calibration usually requires an expensivemechanical platform, by which orientation and rotation speedcan be precisely controlled. The sensor outputs are thencompared with external calibration values calculated by knownparameters of the mechanical platform. This kind of high-cost and intrusive approach is not suitable for calibrating INSunits on mobile phones.

To address mobile-phone INS calibration, inexpensive equip-ment such as optical trackers [10] were proposed and experi-mented with. However, it is not realistic to ask a phone buyerto also purchase such a calibration station, or travel to a shopto periodically calibrate their devices. The work of [19] em-ploys a gravity-based approach, which requires collecting anumber of measurements to calibrate accelerometers. Oli-vares [15] suggests that the information learned from the

Figure 1. The 2.5D map of two floors in our site.

the calibration of accelerometers can help calibrate gyro-scopes. In this work, we ensure that calibration can be per-formed effectively with minimal effort required of mobile-phone users.

XINSThis section depicts the four key components of XINS: floormap, X signals, INS signals, and signal fusion. The fusioncomponent considers signals from the other three compo-nents to perform location prediction.

Indoor MapFigure 1 shows a two-story floor plan used in our experi-ments, in which travel routes, rooms, entrances, landmarks,stairs, and elevators are marked. Furthermore, we model el-ements on the indoor map by several data structures, includ-ing levels, sections, polygons, points, segments, intersectionpaths and angles.

Beyond the benefit of rendering the indoor graphic map topresent to the user, the key mission of the indoor map com-ponent is to provide constraints to our fusion module de-scribed later in this paper. The constraints are provided intwo key APIs. API GetCrossPossibility(A,B) returns thepossibility of moving from point A to point B in a short pe-riod of time according to the map. For example, the possibil-ity of going from A, on one side of a solid wall, to B, on theother side, is zero; ifA andB are separated by a small table,the possibility may be, say, 0.5, while it is entirely possibleto transit from A to B in a large open space. The Map com-ponent also incorporates information from WiFi componentand INS component to identify landmarks to further reducethe number of particles in our filter. Landmarks are poly-gons lying on a special part of the map, such as the junctionof two aisles. A user located within these special polygon ar-eas can be identified with high confidence due to the uniqueproperties of the polygon (e.g., its shape) combined with in-formation obtained from theWiFi and INS components. APIGetLandmark(P,WiF i,Map) outlined in Algorithm 1 isused to identify a landmark.

43

Page 4: XINS: The Anatomy of an Indoor Positioning and Navigation ...infolab.stanford.edu/~echang/XINS-ACM-Ubicomp.pdf · XINS: The Anatomy of an Indoor Positioning ... ubiquitous technology

Algorithm 1 Get the landmark that covers a point P0: Procedure GetLandmark(P,WiF i,Map)1: // Get a set of pairs !pr, possibility", which is a location2: // and its probability with that WiFi signature.3: S # setof!pr, possibility"4: result # null5: for each item in S do6: if pr $ threshold then7: if P is at some special place on a map && INS reading doesn’t

contradicts the fact then8: result# the polygon at P9: break;10: end if11: end if12: end for13: return result

X Signals and Landmark DetectionX signals can be GPS and WiFi. GPS signals are availableat the entrance into a building or in areas near windows. Xsignals play an important role in reducing the number of par-ticles in our filter. Let us specifically focus our discussionon WiFi signals only. As discussed in the related work sec-tion, WiFi-based location predication has two basic meth-ods, wave propagation, and signal heat map. However, inindoor environments, the former generally does not work be-cause the WiFi signal propagation is usually heavily depen-dent on the surrounding complex environment. WiFi signalsare seriously interfered by solid walls, cubic walls and fur-niture. This situation becomes even worse if we considerdynamic effects such as people walking, etc. We employ aslightly revised signal heat map approach. The key differ-ence is that, in addition to the standard signal heat map ap-proach, we identify landmarks, around which key navigationdecisions such as stops and turns are made. When conduct-ing access-point configuration and site survey, we can payspecial attention onto these selected landmarks to improvetheir detection accuracy. Furthermore, around a landmark,XINS can conduct joint inference with X and INS signals.For instance, a turn can be determined to be 90! to the lefteven though INS reports it to be a 80! because the landmarkprovides such a navigation constraint. Details are discussedin the fusion section.

The X component provides two APIs.GetWiFiTransitPossibility(A,B) returns the possibility oftransit from A to B according to the strength of WiFi hotspot signals. This algorithm is outlined in Algorithm 2.

In Algorithm 2, GetWiFiProbabilityAt(P,WiF iP ) is akey procedure that WiFi component defines, which returnsthe probability of a WiFi signatureWiFiP at point P . No-tice that we give particles located at or near landmarks pref-erential treatment when choosing the position of a queriedmobile device.

Inertial Navigation SystemsAs theMEMS inertial sensors embedded inside mobile phoneshave a large noise floor, they must be calibrated before beingused for localization. There are two opportunities in whichthe inertial units in a mobile phone may be calibrated: at the

Algorithm 2 Compute the probability of transit from areacovering A to covering B0: Procedure GetWiFiTransitPossibility(A,B)1: // get the corresponding landmarks.2: LA # GetLandmark(A,WiF iA,Map)3: LB # GetLandmark(B,WifiB ,Map)4: pA, pB # 100%5: if LA == null then6: pA # GetWiFiProbabilityAt(A,WiF iA)7: end if8: if LB == null then9: pB # GetWiFiProbabilityAt(B,WiF iB)10: end if11: return pA · pB

9.4

9.6

9.8

10

10.2

10.4

10.6

10.8

0 5 10 15 20 25 30

acce

lera

tio

n (

m/s

2)

time (sec)

phone-1 horizontalphone-1 vertical

phone-2 horizontalphone-2 vertical

Figure 2. The magnitudes of the acceleration measured by two phonesin two placements. The top two rows (blue and pink) are signals ofPhone 1 and the bottom two rows (red and green) are those of Phone 2.

manufacturer and at home. The calibration process at themanufacturer can rely on external, expensive devices. How-ever, once a user has purchased a phone, the calibration pro-cess at home should be one time, non-intrusive, and certainlycannot rely on external devices such as a turn table.

Accelerometer CalibrationWe first discuss the error model for calibrating accelerome-ters, and then detail the calibration process.

The accelerometer embedded in the Nexus S suffers from alarge noise floor. A simple experiment helped us analyzeand partition the noise floor with the aim of modeling it.Two Nexus-S phones were placed side-by-side, first lyingdown on a desk, and then standing against a wall. The mostsensitive axis of the 3-axis accelerometer is that which isclosest to being parallel with the pull of gravity. The afore-mentioned two placements allow us to isolate which axis wewish to be the most sensitive, but do not require the phonesor any axis of the accelerometers to be precisely parallelor perpendicular to the horizontal. In each placement, thephone remains stationary for at least 30 seconds. The mag-nitude of the acceleration measured during these 30 secondsare shown in Figure 2. We observe three significant types oferror as follows:

44

Page 5: XINS: The Anatomy of an Indoor Positioning and Navigation ...infolab.stanford.edu/~echang/XINS-ACM-Ubicomp.pdf · XINS: The Anatomy of an Indoor Positioning ... ubiquitous technology

• Random error. Although both phones were stationary, themagnitudes of the acceleration measurements still jitteredquite noticeably, which illustrates the existence of randomnoise.

• Bias error and scale factor error. When the two phoneswere placed at the two different positions, Figure 2 indi-cates that both suffered from bias and scale factor error,because the magnitudes of the accelerations are differ-ent both between the phones and between their positions,namely, i) the magnitude of the acceleration measured bythe second phone is at least 0.2m/s2 larger than that of thefirst phone; ii) the same phone measured different magni-tudes of accelerations when the most sensitive axis withrespect to the gravity was changed; iii) the magnitudes ofthe accelerations measured on the two Nexus’ both de-viated from the acceleration of gravity (i.e., 9.8m/s2).Therefore, each phone must be calibrated individually.

We model these three accelerometer errors in Eq.1, in whichthe 3-axis accelerometer reading araw is calibrated to ac,where araw, ac, b and V are 3 dimensional vectors, and S isa 3! 3 diagonal matrix diag[Sx, Sy, Sz].

ac = S(araw " b" V ), (1)

This model aims at getting rid of the random error V , bias band scale factor error S in ac.

The most important property used for calibration is that themagnitude of the acceleration measured while the phonesare stationary must equal that of gravity [7]. Thus, if noerrors, the measured acceleration is on a sphere whose radiusis the magnitude of the acceleration of gravity. The biasesand scale factors stretch the sphere into an ill-formed ellipse,and the random errors perturb the ellipse. The aim of ourcalibration process is to determine the parameters in the errormodel to transform the ellipse back into the desired sphere.

Since the random error V is not a constant value and it dif-fers from time to time, an efficient method to eliminate therandomness is averaging the accelerometer readings duringa time window. Allan Variance [1] is adopted to determinehow long the time window should be. Allan Variance wasfirst proposed by David Allan to measure oscillator instabil-ity in the time domain, and it is also an efficient method forrepresenting random noise as a function of average time [7].Here, the average time means the span of time during whichsamples are averaged together. The definition of Allan Vari-ance is

!2y(T ) =1

2

N!

i=1

[y(i, T )" y(i" 1, T )], (2)

where y(i, T ) is the ith average, and each average spansT seconds. We collected stationary accelerometer signalsfor 160 minutes. The average time T varies from 1 second(N = 9599) to 400 seconds (N = 23). Figure 3 only showsthe Allan Variance when the averaging time varies from oneto 15 seconds, and that of T > 15 sec doesn’t change sig-nificantly. The Allan Variance of z-axis of the accelerometerembedded in the test mobile phone takes the longest time

0

0.5

1

1.5

2

0 3 6 9 12 15

σa2

(m

/sec

2)2

average time (sec)

x-axisy-axisz-axis

Figure 3. The Allan variance of the 3-axis accelerometer in the NexusS.

interval of 6 seconds to converge. This implies that the cali-bration of the Nexus-S requires the phone to be stationary forat least 6 seconds to obtain a stable average value to elimi-nate the random noise so that the average values will notchange significantly in the any of the following 6 secondsintervals. The average time longer than 6 seconds will surelyreduce the Allan Variance but in an insignificant way, how-ever, the in-field calibration requires the calibration time asshort as possible, and thus 6 seconds is chosen as an appro-priate value. This random noise removal step differentiatesour calibration process from that proposed by [7], which ar-bitrarily chooses a one second interval as the length of aver-aging time window. The measured Allan Variance indicatesthat the average of accelerometer signals spanning only onesecond differs from each second to the next.

After random noise has been removed by averaging acceler-ation readings spanning at least 6 seconds, the next step ofcalibration is to determine biases and scale factors, i.e., thesix parameters (Sx, Sy , Sz , bx, by , bz).

As there are six parameters, it is prudent to have enough datato make an over-determined system. Data can be collectedin users’ daily lives to calibrate the accelerometers in a non-intrusive way. We use the same quasi-static detector s thatused in [7]. When we detect a static state lasting for at least6 seconds, the average of 3-axis accelerometer signals formsa calibration data set. In our daily lives, there are myriadchances that a phone stays stationary, e.g., on the desk, inusers’ pockets when sitting or standing still, etc. Given nsets, the calibration is to compute (Sx, Sy , Sz , bx, by , bz) byusing a cost function similar to [7]:

f(S, b) =n!

i=1

(#aci# " #ag#)2 (3)

The cost function f(S, b) is minimized using a combinationof Nelder-Mead method [14] and gradient descent [17]. Thereason we added gradient descent is because Nelder-Meadmethod sometimes missed the global minimum when initial-ized with different values. We used the result of the Nelder-Mead method as the initial start value to the gradient descentmethod, and used the result of the gradient decent to seedthe next round of Nelder-Mead. After several iterations, theminimization procedure is completed.

Although calibration data sets with gravity vector measure-ments spread evenly over the sphere will perform a bettercalibration, the non-intrusive calibration aims at enabling

45

Page 6: XINS: The Anatomy of an Indoor Positioning and Navigation ...infolab.stanford.edu/~echang/XINS-ACM-Ubicomp.pdf · XINS: The Anatomy of an Indoor Positioning ... ubiquitous technology

calibration at home, which cannot require too many con-straints on calibration data sets. In the Experiments Section,we collect 50 sets of data, out of which 12 sets are chosen atrandom. We validate that 12 sets are enough to effectivelytrain the calibration scheme to obtain the six required cali-bration parameters.

Tracking mobile devices users with INSAfter the accelerometers have been calibrated, we can be-gin to track a user with a mobile device equipped with INSunits. We track the direction as well as the distance of thepedestrian’s movement.

Direction is derived through the Vibration Energy Model,and the distance is computed by multiplying the number ofsteps by the length of the step, both of which will be de-scribed below.

Vibration Energy ModelThe Vibration Energy Model (VEM) aims at calculating thedirection of the users’ movement from the INS units in swing-ing hands instead of having to be mounted on any part of theusers. VEM is based on Equipartition theorem, which statesthat energy is shared equally among all degrees of freedom.When humans walk, they usually swing their arms paral-lel to the direction they are walking. If a pedestrian holdsa phone without swinging his/her arms, he/she will swinghis/her body parallel to the direction he/she is walking in or-der to keep the balance. In an extreme case, even if a pedes-trian wants to walk crosswise, like a crab, he/she will stilltend to swing his/her body like the crab, i.e., also parallel tothe walking direction. This phenomenon can be explainedtheoretically a pedestrian stores energy for walking whileswinging her arms. The swing is regarded as an energy pool.Following the Equipartition theorem, pedestrians can easilyuse/store energy between walking/swinging. VEM uses thesignal of swinging energy as a hint to predict the direction.

VEM begins with the accelerations in the absolute referenceframe (denoted by the vector Aa = (Aax, Aay , Aaz)T )) toderive the direction of the pedestrian’s movement. In the ab-solute reference frame we used in this work, the x axis pointsto the east, the y axis points to the north and the z axis pointstowards the ground. However, the accelerometer inside themobile phone provides the acceleration in the mobile phonereference system. The magnetic field measured by magneticfield sensor and the gravity measured by the accelerometerare both used to determine the initial orientation of the mo-bile phone. During the tracking, gyroscopic measurementsare adopted to update the orientation.

The direction of the pedestrian’s motion is determined byVEM as follows:

1. Ahigh = HPF(Aa). Aa is fed to a high pass filter toget the high frequency component, Ahigh, which retainsthe swing energy. The information along the z-axis of theabsolute reference frame is dropped because we aim at de-termining the direction of the pedestrian on the horizontalplane.

-200

-150

-100

-50

0

50

100

150

200

0 5 10 15 20 25 30 35

deg

ree

time (second)

VEM resultGround truth

Figure 4. Using VEM to detect the direction of the users’ movement(Considering the map constraint). The first one second shows 0! be-cause of determining the initial rotation matrix.

2. Aenergy = Ahigh !AThigh. Aenergy is a 2! 2 symmetric

matrix, which can be represented as

Aenergy =

!

a2 abab b2

"

.

Here, energy refers to the stored elastic potential energy,which is proportional to acceleration.

3. Alowenergy = LPF(Aenergy). A simple linear low passfilter is used to extract the low frequency component ofAenergy , i.e., to smooth the Aenergy . The Alowenergy canbe represented as following because the filter is linear:

Alowenergy =

!

LPF(a2) LPF(ab)LPF(ab) LPF(b2)

"

.

4. The projection of Alowenergy on the movement directionis the largest among all the directions, i.e., the ! whichmaximizes f(!) = LPF((a cos!+b sin!)2) is the angleof the pedestrian’s direction of movement. Using df(!)

d!=

0, we can easily derive that

! =1

2arctan

2LPF(ab)

LPF(a2)" LPF(b2)+k·90!, k = 0, 1, 2, 3.

Note that two of these ! actually minimize f(!), whichcan be checked by substituting these values of ! back intof(!). The remaining two values of ! are both the pos-sible directions of motion as VEM is only able to detectthe direction of swinging. This swinging direction is par-allel to the direction of walking, but may be opposite toit. The signal fusion component involves the constraintsfrom both WiFi and the floor map to decide the directionof motion.

A mobile phone user, holding the phone and swinging armswhile walking, walks around a block, first heading south,and then east, north and west. Figure 4 shows the directionof the user detected by VEM (the red line), which closelymatches the ground truth (the green line).

Step detectionWhile pedestrians walk on level ground, measured accelera-tions show evident rhythms as can be seen in Figure 5. Fur-ther than [4], we evaluate that rhythms exist when mobile

46

Page 7: XINS: The Anatomy of an Indoor Positioning and Navigation ...infolab.stanford.edu/~echang/XINS-ACM-Ubicomp.pdf · XINS: The Anatomy of an Indoor Positioning ... ubiquitous technology

0

5

10

15

20

25

30

0 2 4 6 8 10 12

acce

lero

met

er r

ead

ing

s (m

/s2)

time (seconds)

not swing the arm

0

5

10

15

20

25

30

0 2 4 6 8 10 12

acce

lero

met

er r

ead

ing

s (m

/s2)

time (seconds)

swing the arm

0

5

10

15

20

25

30

0 2 4 6 8 10 12

acce

lero

met

er r

ead

ing

s (m

/s2)

time (seconds)

in the front pocket of the jean

Figure 5. The measured accelerations of the pedestrian, with the phonein a steady hand (top), with a swinging arm (middle) and in the frontpocket of user’s jeans (bottom).

phone equipped with accelerometer is in different positionsin Figure 5, i.e., held in a pedestrian’s hand when they swingas they walk (top), held in a pedestrians’s hand while theyhold the phone steady in front of their positions (middle),and put in the front pocket of the pedestrian’s jeans (bottom).Only the magnitudes of the accelerations, which have beencalibrated with the parameters got in the calibration section,are shown in the figure. The sample rate of the accelerometeris about 30Hz.

As the walking of pedestrians is a cyclic movement com-posed of leg-striking, and toe-off [13], each placement ofthe accelerometer shows a rhythm. However, the rhythmshave different presentations in different placements. Whenthe pedestrian holds the phone in the hand as her arms swingfor balance, the acceleration measurements show one spikecorresponding to each step, while there are two close spikescorresponding to each step in the other three scenarios. Thedifference in the number of spikes is because most peoplefirstly settle the toe back on the ground and then the heel,which will generate two spikes, but if the phone is held inthe hand of a swinging arm, the impact of the toe-heel backto the ground is not evident. We design a smooth-spike al-gorithm to detect each step no matter how the pedestrianplaces the phone. Each of the N samples of the raw ac-celerometer readings are firstly calibrated using Equation 1.Besides eliminating the biases and scale factors error as wellas reducing random error, the calibration also integrates twoclose spikes into just one spike, and thus the calibration iscalled smooth. The smoothed accelerations then form a se-quence (denoted as asi) and are sent to the spike detect al-gorithm. If asi is larger than asi!1 and asi+1, asi is re-garded as a spike, and marked as a single step. In practise,N = 5 seems to be the best option, as nearly no usefulspikes are smoothed, while the two spikes caused by toe-heel

0

5

10

15

20

25

30

0 2 4 6 8 10 12

acce

lero

met

er r

ead

ing

s (m

/s2)

time (seconds)

not swing the armstep

0

5

10

15

20

25

30

0 2 4 6 8 10 12

acce

lero

met

er r

ead

ing

s (m

/s2)

time (seconds)

swing the armstep

0

5

10

15

20

25

30

0 2 4 6 8 10 12

acce

lero

met

er r

ead

ing

s (m

/s2)

time (seconds)

in the front pocket of the jeansstep

Figure 6. The step detection of the pedestrian, with the phone in asteady hand (top), with a swinging arm (middle) and in the front pocketof user’s jeans (bottom).

movement are integrated as one. Although the smooth-spikemethod introduces lag by averaging only after N -sampleshave been taken, N = 5 and 30Hz sample rate makes thislag around 1

6 second, which is acceptable. Figure 6 showsthe step detection results of the three different phone place-ments. In the above experiment, only one step is missedwhen the phone is in the front pocket of the jeans. The stepsize is approximately as the work of Constandache etc. [4].

Fusion Using Particle FiltersWe separate the detection of floor-change from predictingpositions on a fixed floor. For a floor-change detection, weuse VEM to track a user’s movement between floors. IfVEM detects consistent vertical energy, we can assume thatthe user is moving on a staircase, escalator or elevator. Oncethe user has reached the desired floor (vertical energy hassubsidized for a empirical chosen time T ), we consider thefloor change complete. A landmark on that floor can provideconfirmation.

To track locations on a floor, we employ Particle Filter asour fusion algorithm. Particle filters are usually used to es-timate Bayesian models in which latent variables are con-nected in a Markov chain, where the state space of the latentvariables is continuous (rather than discrete), and not suffi-ciently restricted to make exact inferences tractable. Underthe Markov assumption, later events are influenced by priorones, allowing a Bayesian filter to track the state of a dy-namic system through time. A good tutorial regarding par-ticle filters can be found in [2]. However, particle filters areknown to be computationally intensive as the state space oflatent variables grows, resulting in a huge number of parti-cles. To make the framework computational feasible on mo-bile devices such as cell phones, we use floor plans and WiFilandmarks as constrains to restrict the number of particles.

47

Page 8: XINS: The Anatomy of an Indoor Positioning and Navigation ...infolab.stanford.edu/~echang/XINS-ACM-Ubicomp.pdf · XINS: The Anatomy of an Indoor Positioning ... ubiquitous technology

In our localization framework, at time t a particle has a statest = (xt, yt, !t, landmarkt), where (xt, yt) and !t are thehorizontal position and the heading direction of the user, re-spectively. landmarkt is a special polygon area where wecan get strong indicators from the map, WiFi and INS units.This polygon is then considered the presumed location ofthe user. Note that landmarkt can be null if the user isnot near any of the landmarks. Since we detect which floorthe user is on separately using VEM, it is not necessary tostore the altitude in this state variable. The input to our par-ticle filter includes the floor plan, the readings from INS’,the WiFi signal readings, and the WiFi signal heat-map froma site survey. The output is a winning particle, st, i.e., a userindoor location.

We now outline the propagation, correction and resamplingsteps of the particle filters in our localization framework indetail.

PropagationThe state propagation step is similar to that of [18], and webriefly outline it here:

!t = !t!1 + "!" (4)

xt = xt!1 + l" · cos !t (5)yt = yt!1 + l" · sin !t (6)

where l" and !" are the step length and heading direction,respectively, measured by the INS units with Gaussian dis-turbance caused by inaccuracies by the INS units taken intoaccount. Let us define a disk as the area covered by the sig-nal of a WiFi access point. To update landmarkt in the statevariable, we use step vector AB, where A = (xt!1, yt!1)and B = (xt, yt) and consider two scenarios:

1. Vector AB intersects with no disks of known landmarks.The particle must remain in the vicinity of the same land-mark as it was at previously (this includes the case whenneitherA norB is covered by any landmarks, i.e., landmarktis null).

2. Vector AB intersects with one or more landmark disks.The landmarkt is changed accordingly.

We unify the above two scenarios in the API GetLandmark()in the Map component.

CorrectionThe correction step assigns a weight wt to a propagated par-ticle. Here we employ the APIs from Map component andWiFi component as constraints to reduce the number of parti-cles. Let pwall = GetCrossPossibility(A,B) and pwifi =GetWiFiTransitPossibility(A,B). We assign the particlea weight wt = pwall · pwifi. The combination of the propa-gation and correction steps generates a particle at time t froma sampled state at time t! 1. This process is summarized inAlgorithm 3.

ResamplingSimilar to what was proposed in [18], we use KLD-samplingfor the resampling step. The basic idea of KLD-sampling

Algorithm 3 Update a particle from time t! 1 to time t.0: Procedure Update(st!1, ut)1: // get the new position.2: !t ! !t!1 + "!"

3: xt = xt!1 + l" · cos !t4: yt = yt!1 + l" · sin !t5: // initialize the intersection algorithm.6: A ! (xt!1, yt!1)7: B ! (xt, yt)8: pwall ! GetCrossPossibility(A,B)9: pwifi ! GetWiFiTransitPossibility(A,B)10: // get the weight of particle at time t.11: wt ! pwall · pwifi

12: // get the new landmark.13: landmarkt ! GetLandmark(B,WiF iB ,Map)14: st ! (xt, yt, !t, landmarkt)15: // return this particle.16: return (st, wt)

is to generate a number of particles at each step such thatthe approximation error introduced by using a sample-basedrepresentation remains below a specified threshold.

EXPERIMENTSEvaluation of the accelerometer calibrationIn this section, we want to answer two questions:1. How many data sets should be used for accelerometer cal-ibration?2. Does calibration effectively correct the errors of accelerom-eter measurements?

For ideal accelerometer calibration that transforms an ill-formed ellipse into a sphere (with the radius correspondingto the acceleration of gravity), the variance of theN samplesdistributed in the calibrated sphere should be zero. There-fore, we can evaluate the calibration by means of measuringthe variance of the magnitudes of the calibrated accelera-tions in the test sets. The smaller the variance is, the betterthe calibration is.

To answer the first question, we collected a total of 50 setsof data in the same way as collecting the calibration data setdescribed in the calibration section. Each time, n sets wererandomly picked as the calibration data sets to determine thebiases and scale factors using the Nelder-Mead method andgradient descent method, and the remaining (50 ! n) setswere used as the test sets. For each n, the experiment wasrepeated 5 times. Figure 7 shows the average variances of thecalibrated accelerations when n was set different, as well asthe variance of the variances. Generally speaking, the vari-ances of the calibrated accelerations decrease as n increases.However, calibration data sets containing more than 12 datasets do not significantly improve calibration performance,and thus we adopt 12 as the size of calibration data sets.

To investigate the second question, we compare the varianceof the test data sets before and after the calibration using the12 sets of data. The phone used for experiment is the sameas the Phone 2 in Figure 2. The variance of the remaining 38sets of test data drops from more than 0.17 to around 0 (theaverage of the variance after calibration is 1.06" 10!3).

48

Page 9: XINS: The Anatomy of an Indoor Positioning and Navigation ...infolab.stanford.edu/~echang/XINS-ACM-Ubicomp.pdf · XINS: The Anatomy of an Indoor Positioning ... ubiquitous technology

0

0.01

0.02

0.03

0.04

0.05

0 6 12 18 24 30 36

var

iance

(m

/s2)2

number of calibration data sets

standard deviation of varianceaverage of variance

Figure 7. The calibration performance using different sizes of calibra-tion data sets. The red line shows the average of the variance, and theblue line shows the standard deviation of the variance.

Evaluation of Localization using XINSLocating mobile devices with XINS aims at generating thecurrent position of the users; we evaluate both the correct-ness of INS tracking and the effectiveness of particle filters.

We define a set of experiments with different routines anddifferent placements of the mobile phone:

• The routines. Totally two sets of different routines areused in the experiments, namely, a 5.35m! 13.35m rect-angle around which the pedestrian is to walk in a clock-wise and counterclockwise direction (denoted as clockwise-rect and counterclockwise-rect respectively). No matterin a clockwise or anticlockwise way, the user started fromthe southwest corner of the rectangle.

• The placements. The mobile phone is placed in three dif-ferent configurations, namely, a static hand, a swinginghand and the front pocket of the user’s jeans. Here, astatic hand is the scenario of a pedestrian trying to watchthe screen of the phone while walking.

There were totally 6 sets of experimental data (two differentroutines with three different placements of the phone). Weplotted a trace with the positions generated by our XINS atthe rate of 1Hz, and examined how well the trace matchesthe actual routines. The southwest corner is assumed as(0, 0) in the figures.

We show the results of the experiments in Figure 8. Theresults illustrate the effectiveness of the INS component aswell as the particle filters. It can be seen that VEM cor-rectly detects turns. Figure 8(e) and 8(f) show that, in somecases, while the clockwise/counterclockwise movement iscorrectly detected by only employing the INS units withVEM, the trace of motion is displaced from the actual rou-tine. This is because VEM can only detect the direction par-allel to that of the pedestrian, but without knowledge aboutwhether walking forward or backward, randomly choosingone direction from the possible two. However, the parti-cle filters successfully correct this uncertainty introduced byVEM. Generally speaking, particle filters are able to pro-vide accurate localization by fusing the signals from floormaps, WiFi and INS. The red lines match well with the5.35m ! 13.35m rectangle in all three placements of themobile phones as well as the two different routines.

0 100 200 300 400 500 600 700 800

0 50 100 150 200 250 300

Pow

er l

evel

(m

W)

Time (sec)

signal sampling interval = 1min

Figure 9. The power consumption pattern of X component.

Discussion on the energy consumption of XINSIn the indoor environment, the X signal mainly relies onWiFi, and the INS fill the gap between any two successiveX signals, which makes it possible to increase the interval ofWiFi. Note that, although we use a GPS power consump-tion to illustrate, other X signals like WiFi exhibit a similarpower usage pattern.

Zhuang, etc. measured the instantaneous power-spikes ofGPS sensing of the Android phone [21]. They stated theGPS invocation is composed by a locking period (whichspans 4" 5 seconds and averagely consumes about 400mWenergy) and a sensing/reporting period (which spans 10"12seconds and averagely consumes about 600mW ). Based onthese data, Figure 9 illustrates how the power spikes dis-tribute. With the interval of GPS activated increases, theenergy consumption decreases. The work of [5] investigatedthe energy consumption of GPS and WiFi separately usinga Nokia N95 phone, which shows a similar result like theAndroid phone. Consequentially, the increase of the inter-val, at which the WiFi is invoked for requiring location inthe Android phone, also decreases the energy consumption.

The INS components are always on for the aim of rotatingscreen automatically, and thus the employment of the INSdoes not add extra energy consumption. Therefore, XINS isable to save energy consumption.

CONCLUDING REMARKSWe proposed the XINS, which uses particle filters to fuse thesignals from the WiFi, indoor maps and inertial navigationsystem to enable the localization of pedestrian indoor witha mobile device. Our main contributions come in two-folds,namely, the non-intrusive calibration of the accelerometerinside a mobile device, and VEM, used to determine thedirection of pedestrian by computing in the dual, energydomain (thanks to the Equipartition theorem), reduces thenumber of integrals from three to one; and therefore, avoidssmall errors from being magnified. Besides, we also intro-duce the landmark detection based on WiFi signal and in-door map to dramatically reduce the number of particles forpredicting accurate position. We will continue conductingexperiments in more complicated scenarios.

REFERENCES1. D. Allan and J. Barnes. A modified Allan variance withincreased oscillator characterization ability. In ThirtyFifth Annual Frequency Control Symposium, pages470–475. IEEE, 1981.

49

Page 10: XINS: The Anatomy of an Indoor Positioning and Navigation ...infolab.stanford.edu/~echang/XINS-ACM-Ubicomp.pdf · XINS: The Anatomy of an Indoor Positioning ... ubiquitous technology

-2

0

2

4

6

8

10

0 5 10 15

tracking with INSusing particle filters

(a) counterclockwise-rect and the phonesin swinging arms

-2

0

2

4

6

8

-2 0 2 4 6 8 10 12 14

tracking with INSusing particle filters

(b) counterclockwise-rect and the phonesin static hands

-2

0

2

4

6

8

0 5 10 15 20

tracking with INSusing particle filters

(c) counterclockwise-rect and the phonesin the front pockets of jeans

-2

0

2

4

6

8

-2 0 2 4 6 8 10 12 14 16

tracking with INSusing particle filters

(d) clockwise-rect and the phones inswinging arms

-6

-4

-2

0

2

4

6

-10 -5 0 5 10 15

tracking with INSusing particle filters

(e) clockwise-rect and the phones in statichands

-10-8-6-4-2 0 2 4 6 8

-15 -10 -5 0 5 10 15

tracking with INSusing particle filters

(f) clockwise-rect and the phones in thefront pockets of jeans

Figure 8. The localization results, where the x and y axes are measured in meters. The grey rectangle represents the 5.35m ! 13.35m rectanglewalking around, red lines show the INS-only tracking results, and blue lines show the locations given by particle filters).

2. M. Arulampalam, S. Maskell, N. Gordon, and T. Clapp.A tutorial on particle filters for onlinenonlinear/non-Gaussian Bayesian tracking. IEEETransactions on Signal Processing, 50(2):174–188,2002.

3. J. Biswas and M. Veloso. Wifi localization andnavigation for autonomous indoor mobile robots. InICRA 2010, pages 4379–4384. IEEE, 2010.

4. I. Constandache, R. Choudhury, and I. Rhee. Towardsmobile phone localization without war-driving. InINFOCOM 2010, pages 1–9. IEEE, 2010.

5. I. Constandache, S. Gaonkar, M. Sayler, R. Choudhury,and L. Cox. EnLoc: Energy-efficient localization formobile phones. In INFOCOM 2009, pages 2716–2720.IEEE, 2009.

6. M. Cypriani, F. Lassabe, P. Canalda, and F. Spies.Wi-Fi-based indoor positioning: Basic techniques,hybrid algorithms and open software platform. In IPIN2010, pages 1–10. IEEE, 2010.

7. W. Fong, S. Ong, and A. Nee. Methods for in-field usercalibration of an inertial measurement unit withoutexternal equipment. Measurement Science andTechnology, 19:085202, 2008.

8. K. Hattori, R. Kimura, N. Nakajima, T. Fujii, Y. Kado,B. Zhang, T. Hazugawa, and K. Takadama. Hybridindoor location estimation system using imageprocessing and WiFi strength. InWINSYS 2009, pages406–411. IEEE, 2009.

9. D. Kelly, R. Behan, R. Villing, and S. McLoone.Computationally tractable location estimation on WiFienabled mobile phones. In ISSC 2009,, pages 1–6. Iet,2009.

10. A. Kim and M. Golnaraghi. Initial calibration of aninertial measurement unit using an optical positiontracking system. In PLANS 2004, pages 96–101. IEEE,2004.

11. M. Kourogi, T. Ishikawa, and T. Kurata. A method ofpedestrian dead reckoning using action recognition. InPLANS 2010, pages 85–89. IEEE, 2010.

12. F. Lassabe, P. Canalda, P. Chatonnay, and F. Spies.Indoor Wi-Fi positioning: techniques and systems.Annals of telecommunications, 64(9):651–664, 2009.

13. S. Lee and K. Mase. Recognition of walking behaviorsfor pedestrian navigation. In CCA 2001, pages1152–1155. IEEE, 2001.

14. J. Nelder and R. Mead. A simplex method for functionminimization. The computer journal, 7(4):308, 1965.

15. A. Olivares, G. Olivares, J. Gorriz, and J. Ramirez.High-efficiency low-cost accelerometer-aidedgyroscope calibration. In ICTM 2009, volume 1, pages354–360. IEEE, 2009.

16. J. Paek, J. Kim, and R. Govindan. Energy-efficientrate-adaptive gps-based positioning for smartphones. InMobiSys’10, pages 299–314. ACM, 2010.

17. J. Snyman. Practical mathematical optimization: anintroduction to basic optimization theory and classicaland new gradient-based algorithms. Springer Verlag,2005.

18. O. Woodman and R. Harle. Pedestrian localisation forindoor environments. In UbiComp’08, pages 114–123.ACM, 2008.

19. Z. Wu, Z. Wang, and Y. Ge. Gravity based onlinecalibration for monolithic triaxial accelerometers’ gainand offset drift. In CICA 2002, volume 3, pages2171–2175. IEEE, 2002.

20. Y. Zhang, L. Li, and Y. Zhang. Research and Design ofLocation Tracking System Used in Underground MineBased on WiFi Technology. In IFCSTA 2009, pages417–419. IEEE, 2009.

21. Z. Zhuang, K. Kim, and J. Singh. Improving energyefficiency of location sensing on smartphones. InMobiSys’10, pages 315–330. ACM, 2010.

50