Improving pedestrian navigation on iPhone in urban...

47
DEGREE PROJECT, IN , INFORMATION AND COMMUNICATION TECHNOLOGY SECOND LEVEL STOCKHOLM, SWEDEN 2014 Improving pedestrian navigation on iPhone in urban environments using deduced reckoning and turn detection STEFAN KNUTAS KTH ROYAL INSTITUTE OF TECHNOLOGY MASTER’S THESIS AT SCHOOL OF COMPUTER SCIENCE

Transcript of Improving pedestrian navigation on iPhone in urban...

DEGREE PROJECT, IN ,INFORMATION AND COMMUNICATION TECHNOLOGYSECOND LEVEL

STOCKHOLM, SWEDEN 2014

Improving pedestrian navigation oniPhone in urban environments usingdeduced reckoning and turn detection

STEFAN KNUTAS

KTH ROYAL INSTITUTE OF TECHNOLOGY

MASTER’S THESIS AT SCHOOL OF COMPUTER SCIENCE

Improving pedestrian navigation on iPhone inurban environments using deduced reckoning and

turn detection

STEFAN KNUTAS

Degree project in Media Technology at KTH Computer Science and CommunicationProject Provider: Astando AB

Supervisor: Alex JonssonExaminer: Haibo Li

TRITA xxx yyyy-nn

AbstractPedestrian navigation on an iPhone today does not provide the accuracyto place the pedestrian on the correct side of a street. A deciding issuethat prevents sufficient accuracy is the errors that occur when usingsatellite positioning in urban environments. Another big problem isthat heading data has shown a tendency to be inaccurate.

Chapter 2 explains satellites navigation, navigation techniques, andsensors. Chapter 4 describes how a prototype was developed. The proto-type uses deduced reckoning and turn detection to navigate a pedestrianroad network, without relying on satellite signals. The prototype is in-tended to run on iPhone 5 and utilizes accelerometer, magnetometer(compass), and gyroscope data together with detailed data about thepedestrian network to accurately track a pedestrian. It features a turndetection method that makes it possible to perform a logical traversalof the road network, together with step detection and step length es-timation to move around.

The turn detection method was very effective and gave good resultswhen combined with logical traversal. For the two routes that weretested the total error in distance estimation was about 3~7 % and forboth routes a close fit to the actual routes was achieved. For individualparts of the routes the largest distance estimation errors varied between3 and 15 %.

Sammanfattning

Förbättring av navigation för fotgängare med iPhone istadsmiljö med använding av död räkning och

svängdetektion

I dagsläget kan navigering med en iPhone inte ge precisionen som krävsför att placera en fotgängare på rätt sida om en gata. Ett avgörandeproblem som motverkar precisionen är störningar som uppstår vid an-vändning av satellitnavigering i stadsmiljö. Ett annat stort problem ärde stora mätfel som observerats för riktning.

Kapitel 2 förklarar satellitnavigering, navigationstkniker, och senso-rer. Kapitel 4 beskriver hur en prototypen blev utvecklad. Prototypenanvänder död räkning och svängdetektion för att navigera i ett gångväg-nät utan att förlita sig på satellitsignaler. Prototypen är utvecklad föriPhone 5 och använder accelerometer-, magnetometer- (kompass), ochgyroskop-data tillsammans med detaljerad data om gångvägnätet för attfölja en fotgängare med god precision. Metoden för svängdetektion möj-liggör en logisk vandring av vägnätet, tillsammans med steg-detektionoch uppskattning av steglängd för förflyttning.

Metoden för svängdetektion visade sig vara väldigt effektiv och gavgoda resultat med den logiska vandringen. För de två rutterna somtestades blev det ett totalt fel i avståndsuppskattningen på 3~7 % ochför båda rutterna uppnåddes en bra passning. För individuella delar avrutterna varierade de största felen på avståndsuppskattningen mellan 3och 15 %.

Contents

1 Introduction 11.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Project Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4 About the Project Provider . . . . . . . . . . . . . . . . . . . . . . . 3

2 Background 42.1 Satellite Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.1 Assisted GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Differential GPS . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.3 High Sensitivity GPS . . . . . . . . . . . . . . . . . . . . . . 62.1.4 Pseudolite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.5 Multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.6 Smartphones . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.1 Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.2 Gyroscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.3 Magnetometer . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.4 Barometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Deduced Reckoning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.1 Good Heading . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.2 Step Detection . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.3 Step Length Estimation . . . . . . . . . . . . . . . . . . . . . 112.3.4 WiFi Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3.5 Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4 Map Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Method 153.1 Prototyping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3 Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.4 Data Validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5 Method Criticism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Prototype 184.1 Pedestrian Deduced Reckoning . . . . . . . . . . . . . . . . . . . . . 184.2 Uncoupled Map Matching . . . . . . . . . . . . . . . . . . . . . . . . 184.3 Topology Based Map Matching . . . . . . . . . . . . . . . . . . . . . 194.4 Heading Restriction . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.5 Heading Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.6 Projection Restriction . . . . . . . . . . . . . . . . . . . . . . . . . . 204.7 Gyroscope Verified Turns . . . . . . . . . . . . . . . . . . . . . . . . 204.8 Logic Interpreted Traversal . . . . . . . . . . . . . . . . . . . . . . . 214.9 GNSS Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.10 Step Detection and Step Length Estimation . . . . . . . . . . . . . . 22

5 Results 235.1 Route Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.2 Data Variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.3 Algorithm Progression . . . . . . . . . . . . . . . . . . . . . . . . . . 255.4 GNSS Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6 Discussion 326.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.2 Further Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Bibliography 37

Chapter 1

Introduction

Navigating with the help of a smartphone is a common occurrence today. While itmight not be perfect, we can often deduce where we are in relation to the locationindicated by the phone by comparing the surroundings with a map provided bythe navigation application. However, using satellites in urban environments todetermine a very precise position is often problematic. This is due to the limitedview of the sky (and with that limited view of satellites) as well as to satellite signalsbouncing off of buildings (called urban canyon effect or multipath) leading to a falseor inaccurate position. While this often is sufficient to position the device on thecorrect street it falls short when trying to give precise navigation aid to a pedestrian.For example, the positioning on a map provided by the default applications onsmartphones usually does not have the accuracy required for placing the device onthe correct side of a street. This might not make much difference when travelingby car, but for a pedestrian it is more important.

There has been much research on pedestrian navigation and the technology isconstantly improving. While the accuracy obtained when navigating by satellitesin urban environments may be insufficient, there are other sensors available in asmartphone, such as the Apple iPhone 5, that can be used to track a pedestrian.Smartphones today include a variety of sensors with higher quality than that whichwas affordable some years ago.

1.1 Problem Statement

A position derived from satellite signals in urban environments often suffers heav-ily from the multipath problem and in many cases this makes the accuracy of theposition lower. Another well-documented problem with personal navigation is in-accuracy and errors with heading when using deduced reckoning (Chen et al., 2010;Godha et al., 2006). There have been some attempts to mitigate the latter, forexample by creating a unified heading model (Chen et al., 2010), using updatesfrom satellites (Godha et al., 2006), and using dedicated sensors (Tseng and Kuo,2011). The issue with these attempts is that they are expensive, not good enough,

1

CHAPTER 1. INTRODUCTION

and/or inconvenient for consumers.When creating a detailed navigation aid for pedestrians it becomes important

to know what sidewalk the user is on. It becomes even more important if the userhas visual impairments. For example: one side of a road might contain a crosswalkthat the other does not. Another example for when this is important for users withvisual impairments is when trying to guide the use to a specific spot where moreexact instructions can be needed.

A previous prototype for iPhone (Stjerne, 2012) was developed for the projectprovider. This previous prototype was based on satellite navigation and prompteda further look into using the other sensors that are available in smartphones. Thisdegree project explores if the sensors in a smartphone can provide sufficient qualitywhen combined with map data to achieve a position with higher accuracy thansatellite-based navigation in urban environments.

1.2 Project Constraints

To delimit the problem for this degree paper, a few constraints were set up. Thedevice is an iPhone 5 because a previous prototype from the project provider usediOS. The data is recorded using an Apple iPhone 5 with iOS 6.1 with a pedestrianthat follows a specified route, does not turn unnecessarily, and walks in a normalmanner. The route includes tiled sidewalk and paved pedestrian crossings, no stairsor other surfaces. The starting position is assumed to be known with good precisionand the walking direction is always forward (as opposed to taking steps backwardsor sideways). The prototype was tested on a simulated device (also using iOS 6.1)on a personal computer. Because the hardware did not match what is available onthe device, no evaluation to see if the prototype could run in real-time on a iPhone5 was done.

1.3 Motivation

The project provider has previously developed a personal navigation system callede-Adept aimed at assisting persons with impaired vision. The e-Adept system cur-rently only works with a client system called TeDuCo that requires a specificallydeveloped sensor package. This sensor package is sized 15x8x4 cm and needs to beworn with a belt at the small of the back to enable tracking of the user, see fig. 1.1.This is not only cumbersome but also creates an additional expense to the cellphonethat is required to utilize it. Utilizing the sensors that are available in smartphonesis less expensive and also more convenient for the pedestrian (Pratama and Hidayat,2012). Only using a smartphone also eliminates having to charge another batterythat would be needed for external hardware.

2

CHAPTER 1. INTRODUCTION

Figure 1.1. Picture of the existing sensor package.

If sensors in a smartphone could achieve the same accuracy as the TeDuCosystem, e-Adept could be made available to people more easily. This in turn couldalso promote further development of the system.

1.4 About the Project Provider

Astando AB is a Swedish company offering consulting and software developmentin the geographic information system (GIS) area. The foremost of their clientsare Swedish municipalities and the Swedish Transport Administration. The mainoffice is located in Töreboda, with additional offices in Stockholm and Gothenburg,totaling about 30 employees.

3

Chapter 2

Background

In this chapter an explanation is given of the technologies and methods that havebeen used in this project. The main parts are satellite positioning, sensors, deducedreckoning, and map matching.

2.1 Satellite Positioning

Navigation satellites can be used to determine one’s position as long as there areavailable signals from those satellites (Quddus et al., 2007). There are two oper-ational Global Navigation Satellite Systems (GNSS) that are available worldwide:the United States’ GPS (Global Positioning System) and the Russian GLONASS(Globalnaya Navigatsionnaya Sputnikovaya Sistema or Global Navigation SatelliteSystem). There is also a local system for China called BeiDou that is in the processof being extended to global coverage, and in that process changing its name to Com-pass. The European Union is in the process of creating its own global system withthe name Galileo (Zhang et al., 2010). Some other countries are also developingtheir own systems.

Sometimes “GPS” is used to refer to the collective of GNSS. This has lead tosome technologies that work with GNSS in general to be referred to as GPS tech-nologies, such as A-GPS, HSGPS, and DGPS (see 2.1.1, 2.1.2, and 2.1.3) (Akiyamaet al., 2010; Lahrech et al., 2005). In this report GNSS will be used to refer to anytype of satellite navigation, local or global.

To get an accurate position in 3D (longitude, latitude and altitude/elevation,or simply x, y and z) using GNSS signals from four satellites is required. Thereason for requiring four satellites is because there are four unknowns that needto be solved: the x, y, and z of the current position and the clock bias (Cui andGe, 2003). Because of the geometry that is used to calculate the position, a widespread of the satellites will give higher accuracy than if all the satellites are groupedtogether at high elevation (Mezentsev, 2005).

Given that we have access to GNSS in smartphones it might seem simple at firstto determine one’s position, especially now, given the current technologies (Zhang

4

CHAPTER 2. BACKGROUND

et al., 2010). However, there are some difficulties with pedestrian navigation. Onebig issue is the signal blockage or degradation that occurs in urban areas that limitsthe availability and reliability (Lachapelle et al., 2006; Godha et al., 2006). Asmentioned just above, the accuracy is better with a wider spread of satellites whichis difficult to achieve in an urban environment. If satellites are available, theirsignals are likely weak and/or reflections (Mezentsev, 2005). There is also the issuethat GNSS position fixes are not as accurate for walking speeds but have betteraccuracy with speeds over 3.0 m/s (Quddus et al., 2007).

2.1.1 Assisted GPS

Assisted GPS (A-GPS) is a technique to reduce the time required to get a first fixon available satellites by supplying initial information about the device’s currentlocation to the GNSS chip (Djuknic and Richton, 2001). By having an initialposition the satellites available from that position can be retrieved from the satellitealmanac (a rough estimate for satellites positions). When the available satellitesare known the search time for those signals are reduced as their exact frequencycan be calculated (Zhang et al., 2010). This initial position only needs to be arough estimation so less accurate sources can be used. The simplest variant ismanual input from the user and the automatic alternatives include using the knownposition of available cellular base stations or access points for WiFi. The last tworequire a preceding survey to map out the reference points but does not need anyadditional hardware to be added (Zhang et al., 2010; Djuknic and Richton, 2001).

2.1.2 Differential GPS

Differential GPS (DGPS) uses corrective information from fixed ground stations toimprove the raw position from GNSS (Huang and Tsai, 2008). The ground stationsknow their own positions with high accuracy and compare that with the positioncalculated from the available satellites. The difference between the positions can beused by other receivers in the vicinity to correct their positions. This works becausereceivers in the same area share some of the same errors. It is not necessary to usethe same satellites as the ground stations to use the correction as the differencecan be applied to the calculated position directly (U.S. Coast Guard NavigationCenter, 1996). The corrective information can be sent in the same manner as GNSSsignals or distributed by other media, such as over the internet. This technique cancompensate signal degradation caused by the atmosphere and other errors such asinaccuracies in the receiver’s clock, making it possible to get a very high accuracyposition (Quddus et al., 2007; Mezentsev, 2005).

Correction with data from DGPS is intended to work with the raw line of sight(LOS) signals, this means that it does not work with multipath errors (Qudduset al., 2007; U.S. Coast Guard Navigation Center, 1996). This also means thatDGPS does not work with iOS, because iOS does not provide access to the raw

5

CHAPTER 2. BACKGROUND

signal or position. In order to use DGPS with iOS an external GNSS receiverwould be required for a raw position.

Existing systems for DGPS are WAAS that provides coverage for USA andEGNOS for Europe (Huang and Tsai, 2008).

2.1.3 High Sensitivity GPS

High Sensitivity GPS (HSGPS) is a technique to compensate for poor reception ofsatellite signals (Yan et al., 2012). HSGPS works by integrating together multiplecycles of satellite signals to create a single position. Non-HSGPS integrate signalsreceived over 1 ms which is equivalent to one C/A code cycle. While HSGPS canintegrate over as much as 20 ms (Zhang et al., 2010). This is useful if the signalreception is poor as it can make use of several partial cycles, but it does lead todegraded quality and accuracy. Because HSGPS can track weaker signals it is alsomore susceptible to multipath and finding more false correlations (Godha et al.,2006; Mezentsev, 2005).

According to Zhang et al. (2010) previous versions of iPhone (3GS and 4) usedHSGPS and best efforts indicate that this is the case for the iPhone 5 as well.

2.1.4 Pseudolite

Pseudolite (short for pseudo satellite) are simulated satellites, usually in the form offixed ground based stations (Yan et al., 2012; U.S. Coast Guard Navigation Center,1996). These can be used instead of an actual satellite signal and can be useful if itis difficult to get four signals at the same time (Yan et al., 2012). One problem thatcan occur is that the signal from the pseudolite can disturb normal GNSS signals(U.S. Coast Guard Navigation Center, 1996).

This solution requires hardware installation that can be costly (Yan et al., 2012).

2.1.5 Multipath

The main caveat with using GNSS for pedestrian navigation is that it requires aclear LOS with the satellites, which can be difficult when located between buildings,also known as an urban canyon. In this situation it is very common to receive signalsafter they have been reflected by objects in the surroundings, such as walls, creatinga multipath effect. Because a multipath signal is a reflected signal it will travela longer path compared to the same signal traveling straight in the LOS beforereaching the receiver. This causes a multipath signal to always arrive later than thesame LOS signal. Multipath can be a very large source of error in urban canyonsand it is difficult to overcome without a LOS signal to reference. It is possible touse multiple antenna arrays to avoid multipath, but it is not a practical solution forpedestrians (Mezentsev, 2005; Lahrech et al., 2005).

6

CHAPTER 2. BACKGROUND

2.1.6 Smartphones

Today’s smartphone are almost always equipped with GNSS capabilities to somedegree (Zhang et al., 2010). Any technique that needs direct access to the satellitechip for the discrete satellite signals or allowing it to receive signals from sourcesother than satellites will not work with the current version of iOS, 6.1. This isbecause the iOS API only provides complete positions, the Android API however,does provide access to each satellite (Google, 2013). This means that any techniquethat combines data from others sources with the satellite data to make up for a lackof coverage will not be possible on iOS. For example there are techniques that workby combining signals from three satellites with a known elevation, that the currentposition is on a specific path, or using WiFi as a pseudolite to replace the missingsatellite signal (Yan et al., 2012; Cui and Ge, 2003).

Even the position from the API is a bit difficult to work with on iOS as thereis no way to know what source was used or how it was calculated. On iOS thereare two options with high accuracy available to the developer, to request the bestaccuracy or the best accuracy for navigation (Apple, 2012). If the best accuracy fornavigation is requested the OS will combine the GNSS position with sensor dataand provide the result as the location. There are no further details available fromApple on how this combination works. There is no direct way of obtaining the rawGNSS position from the iOS API, but by requesting the best accuracy availablethe GNSS position should be returned as it is the technique with highest accuracy.However, this is only when the GNSS position is available, otherwise the next bestsource is used, without any note on what the source is. This still does not meanthat the position is unfiltered as the OS may have other filters in place that thedevelopers are not privileged to.

2.2 Sensors

Here follows an introduction to some sensors that can be used for navigation. Theworkings of the sensors are described on a basic level as mechanical system. Inpractice they are implemented as microelectromechanical systems (MEMS). TheMEMS versions are practically tiny electrical versions that work on the same oper-ational principles and achieve the same measurements (Mezentsev, 2005). Amongthe sensors mentioned here the ones available in Apple iPhone 5 are accelerometer,gyroscope, and magnetometer, not barometer. The specifications for each sensorare unknown as Apple does not publicise that data.

2.2.1 Accelerometer

An accelerometer is a type of inertial sensor used to measure the rate of acceleration(Fang et al., 2005). The basic principle works on a mass suspended in vacuum froma spring and limited to move in only one axis. As the mass moves because of theforce from acceleration the length of the spring is proportional to that force and

7

CHAPTER 2. BACKGROUND

can be converted to acceleration (Mezentsev, 2005). To measure acceleration in 3Dthree accelerometers are required, one for each dimension or axis. They are usuallybundled together and called a 3-axis accelerometer.

The acceleration measured also includes gravity that is not part of the user-influenced acceleration. To remove gravity the orientation of the accelerometersare needed so a proper amount can be subtracted from each axis. If they alwaysremain perfectly horizontal it is an simple operation. In the case of a smartphonethe sensors are mounted in the same inertial frame in a strapdown configuration,meaning that they are fixed to the orientation of the device and thus rotate alongwith it. To remove gravity in a strapdown configuration the measurements fromthe gyroscope in the same frame can be used to calculate the orientation and findthe direction of gravity. If the calculated orientation is off, even by a small fraction,the gravity will spill over to user acceleration and there will be an error (Fang et al.,2005).

In theory this type of sensor is independent of reference, but because of errorsfrom noise and drift in MEMS implementations frequent calibrations are required.This is especially important when using the measurements in a double integral toyield position as it causes the error to grow faster (Mezentsev, 2005; Fang et al.,2005).

2.2.2 Gyroscope

In the same manner that accelerometers are inertial sensors for acceleration, gyro-scopes are inertial sensors to measure the rate of rotation. A gyroscope is based onthe preservation of angular momentum of a spinning disc, also known as a rotor.When the disk is rotated from its axis it will exert an opposing force to retain itsorientation. The MEMS version uses a vibrating mass and measure changes in vi-bration caused by a change in orientation (Mezentsev, 2005). A 3-axis gyroscopecoupled with a 3-axis accelerometer is sometimes incorrectly referred to as a “6-axisaccelerometer”. This combination does however give 6 degrees of freedom (DoF),meaning that it can move along the three axis (x, y, z) as well as rotate around eachof them (pitch, yaw, roll). When a gyroscope is used to track heading a single integ-ral is used. The single integral makes the error growth less severe compared to thedouble integral for distance, but it still suffers from drift. Since the measurementsof the accelerometer are dependent on the gyroscope it is still important that it isaccurate. A low-cost gyro can have a drift of 15-100 °/h. Just like accelerometers,gyroscopes are unaffected by environmental disturbances (Fang et al., 2005).

2.2.3 Magnetometer

A magnetometer measures the magnetic fields around the unit, essentially workingas a digital compass. The magnetometer can measure the earth’s magnetic field andfind the direction to the magnetic north and then adjust that direction dependingon its geographical location to point towards true north (Fang et al., 2005). Magne-

8

CHAPTER 2. BACKGROUND

tometers exist in 2- or 3-axis variations. The 2-axis version is less sensitive to errorsinduced by the up and down motion caused by walking but needs to be orientedhorizontally for accurate measurements. The 3-axis version does not need a specificorientation but is more sensitive to the walking motion (Chen et al., 2010).

Unlike the previous two sensors, this one is not an inertial sensor and is suscept-ible to external sources that can cause measurements many tens of degrees wrong(Pinchin et al., 2012). Any distortion of the magnetic field can affect the readings.These can be caused by metal or magnetic object, such as cars and power lines;even the human body has a magnetic field (Jin and Soh, 2011; Fang et al., 2005).A good method against this is to use several magnetometers in an array and ob-serve their differences, however this is not a method appropriate for pedestrians(Zampella et al., 2012).

2.2.4 Barometer

A barometer can be used to determine the current elevation, in which case it canbe called an altimeter. To calculate the elevation a barometer measures the airpressure. However, the air pressure not only changes with elevation, but also changeswith the weather and environment. The difference in air pressure is also very smallwith vertical movement requiring the measurement from the sensor to be amplifiedand therefore making it more sensitive to noise (Fang et al., 2005).

The height data from the barometer can be used to aid the GNSS calculationsand bring down the required signals to three (Department of Defense USA, 2008;Lachapelle et al., 2006).

2.3 Deduced Reckoning

Deduced Reckoning (also known as Dead Reckoning or DR) is a general methodfor determining location based on a previously known location and data about themovement that has occurred since. As this technique can be used with a variety ofmeans of conveyance, the term Pedestrian Deduced Reckoning (PDR) is often usedto specify when it is used in conjunction with pedestrians.

The data describing the movement is typically collected by inertial measure-ment units (IMU). The common sensors to include in IMUs are accelerometers,gyroscopes and magnetometer sensors (Kemppi and Rautiainen, 2010). There havebeen many studies on PDR using different placements for the IMU and they all workto some extent but with varied results. These location include helmet (Pratama andHidayat, 2012), shoulder (Lan and Shih, 2012), waist (Lan and Shih, 2012), lowerback (Jirawimut et al., 2003), pocket (Pratama and Hidayat, 2012), leg (Tsengand Kuo, 2011), shoe (Godha et al., 2006; Lachapelle et al., 2006), and handheld(Pratama and Hidayat, 2012).

A big issue with DR is that it is highly prone to accumulate errors known asdrift. The drift comes from small errors, bias, noise, and inaccuracies in the hard-ware and calculations. Because the positioning is relative the error adds up, over

9

CHAPTER 2. BACKGROUND

time, distance, and/or steps, depending on the method used (Asano and Wakuda,2012; Jin and Soh, 2011). The amount of drift varies between systems and imple-mentations. Godha et al. (2006) tested two different IMUs, one with 1 °/h bias andthe other with up to 1040 °/h bias for the gyroscope, the latter being significantlyless expensive.

One way to try to limit the drift is to use Zero Velocity Updates (ZUPT). ZUPTcan be performed when the IMU is stationary (i.e. have zero velocity) and allowsthe sensors to be calibrated to not moving (i.e. reset) and therefore zeros anyaccumulated drift in the sensor (Godha et al., 2006). In order for the IMU to bestationary and make the reset possible the IMU is often attached to the pedestriansshoe since the shoe normally does not move while on the ground (Lan and Shih,2012). This, in turn, requires the IMU to be a separate unit and that is not verypractical for the user (Kemppi and Rautiainen, 2010). Using a foot mounted IMUwith this can allow for navigation with sub-meter accuracy, even when using low-cost sensors (Pinchin et al., 2012).

Another way to limit the error growth is to, again, use the characteristics of thepedestrian, namely the cyclic walking. By using accelerometers and the statisticalfeatures in acceleration during walking, steps can be detected and their lengthsestimated. When using these together, the distance traveled can be calculatedwhile avoiding the twice integral error with time (Chen et al., 2010).

There are also techniques which correct the drift after the DR calculations havebeen performed. To achieve this, another source of data is used, such as mapmatching (Yu et al., 2006; Bernstein and Kornhauser, 1996), GNSS (Godha et al.,2006), WiFi signals (Yan et al., 2012), or tags (Chen et al., 2010; Asano and Wakuda,2012). The DR position is compared with the data from the second source and canbe used to calibrate the DR calculations or to correct the current position andheading (Yu et al., 2006; Jirawimut et al., 2003).

Pedestrians are not restricted in their movement to the same degree as mostvehicles. For example a pedestrian can turn on the spot, move sideways, and turntheir torso independently from walking direction. A typical car cannot travel side-ways, has to overcome its relatively large inertia before reversing direction, andabides by traffic rules. This makes it possible to make some assumptions aboutthe movement of a vehicle that can be used when tracking them to filtering outimplausible positions. For pedestrians there can be some assumptions made abouttheir max speed to filter out unlikely movement.

2.3.1 Good Heading

Having an accurate heading is very important when using DR to navigate. Therehave been numerous cases where the heading was a major source of error; larger thanerrors from estimated velocity or step length (Zampella et al., 2012; Chen et al.,2010; Seitz et al., 2010; Lachapelle et al., 2006; Godha et al., 2006; Mezentsev,2005; Jirawimut et al., 2003). There are two main issues, one is the drift in low-costgyroscopes, and the other is the vulnerability of magnetometers (Chen et al., 2010).

10

CHAPTER 2. BACKGROUND

There has consequently also been some work to try to correct this. Chen et al.(2010) created a unified heading model and built a custom unit to be mounted andspecifically oriented on the pedestrian. They used a 2-axis magnetic compass andtheir model included all the predictable errors for the compass. While they achievedgood results, the unit was impractical for consumer usage.

In the same way that ZUPTs can be used to reset accelerometers, Zero AngularRate Update (ZARU) can be used to correct gyroscopes. Just like ZUPT, ZARUrequires a stationary reference, such as when the foot is on the ground (Zampellaet al., 2012).

There has also been some success using GNSS reading to correct drift in gyro-scopes (Godha et al., 2006; Jirawimut et al., 2003).

Yet another technique is to use a gyroscope together with a magnetometer andcompare their values and only register a change in heading when they both agree(Godha et al., 2006; Mezentsev, 2005).

2.3.2 Step Detection

An alternative to using only discrete acceleration to calculate traversed distance isto utilize the characteristic of pedestrians taking steps to move about. The first partof this method involves detecting a step, and the second to determine the lengthof that step. To determine if a step was taken, some form of pedometer is used.The three common techniques used by pedometers to detect a step are: to observethe motion of a mechanical arm, the buildup of induced electricity from a magneticcoil, or changes in acceleration with accelerometers (Lan and Shih, 2012). Thereare additionally three common ways to detect a step with accelerometers: stancephase detection (Godha et al., 2006), zero-crossing (Pratama and Hidayat, 2012),and peak detection (Asano and Wakuda, 2012).

Stance phase is usually detected with an accelerometer attached to a foot. It isbased on the fact that the foot is not moving when on the ground, thus creating aflat zone in the accelerometer measurements interpreted as a stance phase. This isalso the phase when ZUPTs are available (Godha et al., 2006).

Zero-crossing works on the reversion of acceleration during a step. This requiresa step to have a certain acceleration to pass the zero-level. This is usually coupledwith a low-pass filter and a minimum time delay between each step to avoid falsepositives from small spikes in the acceleration causing it to hit the zero-level morethan once for a single step (Pratama and Hidayat, 2012).

The third one that is covered here is peak detection. The peak detection methodfinds local peaks for maximum and minimum acceleration and requires a certaindifference between the two to count as a step (Asano and Wakuda, 2012).

2.3.3 Step Length Estimation

Once a step has been detected the length of that step needs to be determined.This distance can be measured between the same foot touching the ground twice

11

CHAPTER 2. BACKGROUND

or between the two feet when they are on the ground at the same time. If theIMU is mounted on a shoe, only the steps of that foot will be detected and thedistance between one foot touching the ground twice (i.e. two steps long) is used(Lachapelle et al., 2006). If the IMU is mounted on the hips or above, or held inhand, the motion from both legs can be detected and therefore the distance betweenthe right foot and the left foot, when both are on the ground during a step, is used(Lan and Shih, 2012). Further, step length can be set to a fixed (static) distanceor be dynamically determined for each new step or at intervals (Chen et al., 2010).Accurate step length is important as even small errors can accumulate fast (Asanoand Wakuda, 2012).

Pratama and Hidayat (2012) evaluated four methods for step length estimation,one static and three dynamic: Weinberg, Scarlett, and Kim. The paper concludedthat the Scarlett method was the most accurate with about 7 % error in distanceover 10-30 m. However, the Scarlett method implemented by Pratama and Hidayat(2012) was not the final version that Scarlett found (Scarlett, 2007). Scarlett (2007)himself found his final version to have higher accuracy than the one tested byPratama and Hidayat (2012). Scarlett writes that his final version had an error ofabout 6 % in distance, compared to as much as 10 % in the first version, but he doesnot state the distance used for testing. One reason for not using the later versioncould be because it contains a double integral, compared to a single integral in theformer version, causing a higher growth rate for the error.

Lan and Shih (2012) use a method similar to that of Scarlett, observing thechange in height during a step to estimate the length of that step, and claim anaccuracy of about 98 %. However, they only tested over very short distances (6-15 m). This is attributed to their novel way to achieve ZUPT, with a sensor mountedat the waist and by using harmonic motions.

Foot mounted IMU with ZUPTs have been shown to have very high accuracy;producing, in some tests, errors as low as 1-2 % (Godha et al., 2006). A methodto improve step length with a dynamic model is to give it feedback on the traveleddistance from other sources, such as GNSS or the other ones mentioned above, tocorrect drift (Godha et al., 2006). With this feedback the step length model canbe adjusted to compensate for the estimates being too long or too short. However,when using a source such as GNSS there is a chance for inaccurate positions becauseof the multipath problem that could lead to an inaccurate adjustment (Chen et al.,2010).

Chen et al. (2010) compared a linear, a nonlinear, and an artificial neural net-work model for step length estimation and found that correct heading had a biggerimpact on the distance error than the different models.

One very accurate technique (millimeter level) uses two cables, one running downeither leg, that transmits radio signals from the feet. The opposite foot receives thesignal, and together with a known length of the cables, the distance of one stepcan be calculated with very high precision. While this is a very precise technique,it is expensive and an inconvenient solution for the average pedestrian (Mezentsev,2005).

12

CHAPTER 2. BACKGROUND

2.3.4 WiFi Signals

There are two main techniques for using WiFi signals to determine a position. Oneis to map the availability of different networks and the other is to determine thelocation of the signal source by examining the angle of the signal (Yan et al., 2012;Kemppi and Rautiainen, 2010). Both require a survey of the area ahead of time.

One way to use WiFi for positioning is to map out the signal strength andfingerprints for different access points (AP) (Lan and Shih, 2012; Seitz et al., 2010).These fingerprints can later be used by the smartphone as reference for availableWiFi networks. This requires no additional hardware to be installed in the field.

To be able to tell what angle a WiFi signal arrives from, there is a need for goodantennas and that they are oriented in a particular way. This can either be done onthe client device or on the AP (Kemppi and Rautiainen, 2010). The implementationby Kemppi and Rautiainen (2010) switches between different channels and sendsa special packet from the AP, requiring the client to know the specific switchingpattern of the AP to calculate the position. This also requires knowledge of theAP’s position and special configuration of the AP; existing WiFi cannot be usedwithout modification.

If this is to be used to correct drift from DR, it needs to achieve higher precisionthan the error of the DR.

2.3.5 Tags

There are numerous wireless techniques that can be implemented to work as tags(also known as beacons). These include Ultra-wide Band (UWB) (Chen et al., 2010),Radio-frequency Identification (RFID) (Asano and Wakuda, 2012), and Bluetooth(Kuhn et al., 2011); some can also be passive or active (Lan and Shih, 2012). Byusing a short range signal, the client device will know that a tag is close when itcan be picked up. The estimated location of the device can be corrected againstthe absolute coordinates of a tag when it is detected. For a method like this, thatis infrastructure-based, a great number of tags need to be installed and calibratedand it can become expensive and labor-intensive (Lan and Shih, 2012; Jin and Soh,2011).

2.4 Map Matching

Map Matching (MM) is a technique to take an estimated position and locate iton a link or segment in a road network, preferably a single point on that link(Quddus et al., 2007; Yu et al., 2006). Using a map with poor quality can lead toa less accurate position than the initial estimate and likewise a good map can givea better position (Quddus et al., 2007). Digital maps usually have much higheraccuracy than the positions derived from sensors; MM can therefore be used tocorrect DR drift (Yu et al., 2006). This also requires the position produced by MMto be correct and not a mismatch (i.e. an incorrect match). Therefore it is important

13

CHAPTER 2. BACKGROUND

to have a good mismatch detection and low chance for mismatch (Quddus et al.,2007; Yu et al., 2006). This is commonly referred to as the integrity and reliabilityof the MM.

When performing map matching with vehicular positions, as opposed to pedes-trian, there is generally a greater distance between the links that are used to matchagainst and they can be limited by travel direction. In pedestrian road networksthere is more detail and less distance between the links. Sometimes the distancebetween links is shorter than the error for the estimated position, making the pos-sibility of a mismatch much higher. As mentioned previously (see 2.3), pedestriansare not limited in their movement in the same way vehicles are, this makes themmore difficult to predict and the possible routes cannot be limited in the same way.One of the more difficult areas to make a match in is around junctions. At junctionsthe roads are no longer just proximate to each other, but connecting and while theirangles may be different they can also be very similar. This all makes it especiallydifficult to produce a good match in urban environments where the estimated pos-ition before MM can also be affected by errors from urban disturbances (Yu et al.,2006).

MM has been implemented with many different techniques, some of them areKalman filter (Quddus et al., 2007), extended Kalman filter (Cui and Ge, 2003),fuzzy logic (Ren and Karimi, 2011; Quddus et al., 2006), belief theory (Nassreddineet al., 2008), and artificial neural network (Winter and Taylor, 2003). The usefulnessof each technique varies with the context and the available data. Some algorithmsonly work with geometry and each discrete point while others consider history andtopology, i.e. the way links are connected (Nassreddine et al., 2008). For a morein-depth review of the different algorithms see Quddus et al. (2007) who reviewed35 different map matching algorithms. In short the review finds issues with alltechniques, especially with complex road structures.

14

Chapter 3

Method

This thesis was started with a literature review with sources found by searchingIEEE and Google Scholar databases with the keywords “deduced/dead reckoning”,“pedestrian navigation”, and “smartphone navigation”, among others. After theinitial literature review, it was clear that heading is a big issue for personal navig-ation, so the focus was to compensate for this. Chen et al. (2010) concluded thatit is essential to combine different methods to overcome the disturbances causedby urban environments and this was taken into consideration when choosing tech-niques. There was an effort made to avoid methods that required user calibrationas Chen et al. (2010) also notes that it is not a convenient part of the consumerexperience. Further, techniques requiring additional sensors (besides those availablein the iPhone 5), hardware installations, or additional surveys were avoided to makethe solution less dependent and easy to reproduce.

3.1 Prototyping

When developing the prototype for this project de Groot’s empirical cycle wasused. This cycle consists of five stages: observation, induction, deduction, testing,and evaluation. Observation is the initial stage when data is collected, followed byinduction where the data is examined for connections and hypotheses are createdabout how things work. Deduction sets up predictions based on the hypothesesto be tested in the next stage. In the testing stage the predictions are tested inrepeatable tests. These tests should also be made in such a way that others canreplicate it with similar results. After testing, the results are evaluated againstthe hypotheses and with this, the cycle can be started from the first stage again(Groenman et al., 1992).

3.2 Routes

As the objective of this project was to improve on navigation, it required routesto navigate with. The routes were created manually from links to allow for more

15

CHAPTER 3. METHOD

control. The source of the link data (geometry and topology) is Stockholm’s digitalpedestrian road network with access provided by Astando. The links are createdfrom high resolution orthophotos (geometrically corrected aerial photos) with veryhigh precision. All roads are represented by links that, in turn, consist of piecewiselinear geometric segments. Each link can only be connected to other links at itsendpoints. The created routes consist of sidewalks and pedestrian crossings, butsome of the crossings are synthesized crossings. Synthesized crossings are unmarkedcrossings but there is a general consensus that those spots are reasonable places tocross the streets (Stjerne, 2012).

3.3 Data Collection

The data collection was made by walking the routes on foot with an Apple iPhone 5using the application SensorLog (https://itunes.apple.com/app/id388014573).The app was set to record in 50 ms intervals (20 Hz) to a log file to be post-processedlater. 50 ms was the smallest interval possible with the application and was chosento achieve available resolution with the possibility of downsampling after the fact.The phone was held in hand by the pedestrian in front of its person with the screenfacing up and the top of the phone oriented in the direction of travel. This was sothe direction of movement remains unchanged in sensor frame reference. The datawas collected between the 3rd of January and the 25th of February. During thattime the surface conditions for the routes were poor to moderate and had a varyingamount of water, snow and/or ice on them; there were also other pedestrians. Theroutes were walked clockwise 4 times each.

In order to easily be able to make changes to the prototype and run it againwith the same data, the data was collected separately. This post-processing methodallowed small changes to be tested rapidly without having to collect new data eachtime.

3.4 Data Validity

Apple states that some data is raw, straight from the sensors, and also providessome filtered version. It is not specified how these filtrations are made. This goesfor all the data from iOS. All data can be considered to go through a black boxbefore being made available to the developer. The iPhone 5 is capable of usingsignals from both GPS and GLONASS but there is no way to tell which is currentlybeing used. Apple has no public listing of the components used in their phones sodetails for the sensors are not available.

Similarly, there is no insight to the inner workings of the application that wasused to collect data to verify that the measurements are not altered.

16

CHAPTER 3. METHOD

3.5 Method Criticism

To achieve high validity there is a need for a good amount of variety in the data(Bell, 2006; Höst et al., 2006). The validity for this project is somewhat limitedas the data does not have a great amount of variety. There are several points thatcould do with improvement to make the results more generally applicable. Onemajor point is that all the data was gathered with the same subject walking theroutes. There should be more routes and over a larger area to include more variety.Because of limited time this project only used two different routes and neither wasvery long. The ground was covered in snow, ice, water, or sleet, and in order togeneralize the results, data from other conditions should be tested. It is possiblethat the prototype is optimized for the specific conditions used in testing.

17

Chapter 4

Prototype

The prototype that has been developed in this project is based on a prototype byStjerne (2012) from a previous project by the project provider. The framework andbasic structure of the previous prototype is used along with some of the techniquessuch as map matching.

This chapter describes the steps of the implementation of the algorithm. Thesteps are described in the order that they were implemented. The order of im-plementation was governed by dependencies and as problems were identified. Forexample, everything relies on PDR as a base, topology MM requires basic MM, andheading restriction improves the MM. Some steps, such as gyroscope verified turns,could have been implemented earlier in the process but other improvements weredeemed more valuable and were given priority.

4.1 Pedestrian Deduced Reckoning

The provided prototype had a PDR algorithm based on acceleration and sampletime to estimate distance traveled; unrelated to the users’ steps. This was usefulas it allowed a match to be made after each sampling. The only thing changed forthe PDR was to use 50 ms to match the sample interval. The starting position isassumed to be known and is provided to the algorithm.

4.2 Uncoupled Map Matching

The first implementation of map matching used an uncoupled, naïve matching.This used the location from the PDR and matched it to a point on the closest link(naïve) and did not utilize the previous match in any way (uncoupled). The nextPDR location was deduced from the previous PDR location and not the matchedlocation.

The naïve matching functionality was largely reused from the previous prototypeby Stjerne (2012). Some slight corrections were made to the implementation.

18

CHAPTER 4. PROTOTYPE

4.3 Topology Based Map Matching

To improve on the previous iteration, topology relations were added for the mapmatching. For this to work better, the next PDR location was changed to beingdeduced from the previous map matched location, but only if that location wasdetermined to be reliable. If the match was unreliable, it continued to use thePDR location. The reliability was based on consecutive matches to the same link,the distance to the match, and later, similarity in heading between the link andobserved heading.

As with the naïve matching, the basic topology matching was largely reusedfrom the previous prototype. The reliability metric was added along with othermodifications to work with the higher rate of samples and improved link change.

4.4 Heading Restriction

To limit the possible links to match against and to achieve lower chance of a mis-match, a restriction based on heading was added. The map match now only at-tempted to match against links with a heading similar to the direction of travel.Without this restriction, a link heading perpendicular to the direction of travelwould be chosen if it was the closest link; an issue that often occurred at corners.Because a link on its own does not have a single heading, each link was checkedtwice, once for each direction. For example, in figure 4.1 there is no way to tell if thevertical link is heading north or south, so it is checked as both. The horizontal linkis not a match because its direction is not similar to the heading of the pedestrian.

Figure 4.1. A sidewalk represented in black, making a left turn. A pedestrian atthe base of the arrow heading north. The red circle is the closest match and thegreen circle is the restricted match. When considering the heading the red circle is amismatch.

4.5 Heading Correction

As it has been made clear that the accuracy of the heading is a big problem with DRbased navigation and with the increased dependency on heading from the previousiteration a correction was implemented. The correction works by comparing themeasured heading indicated by the magnetometer from the previous sample to the

19

CHAPTER 4. PROTOTYPE

heading of the link that was matched. The difference between the two is used tocorrect the heading of the following sample. This is only performed if the matchwas considered reliable (according to the metric introduced in 4.3) and only up to aspecified limit, after which, it was deemed that the correction would be too severe.Without this limit, a turn would also be corrected out to a straight line.

4.6 Projection Restriction

When performing MM the initial position is projected on candidate links to find thedistance to each candidate, and in turn the closest link. The projection restrictionmeans that the projections on the candidate links are only allowed to be nearperpendicular to the current traveling direction. With an exception for links withina very short distance. This means that links with a matching heading but thatwould require a significant shift forwards or backwards will not be matched, seeillustration in fig. 4.2. This was motivated because the distance was less accuratethan the general heading, and only took effect when the pedestrian made a turn.So when the user turned it was likely that the turn was in the wrong place ratherthan having missed some distance since the turn, especially since each update onlymade a small advance in distance because of the high sampling rate (20 Hz).

Figure 4.2. Two sidewalks represented in black, making a left turn. A pedestrianfollowing the green line heading east and turning north at the base of the arrow. Thered circle is the closest match and the green circle is the projection restricted match.Because the distance estimations are inaccurate the turn was detected at the wronglocation.

4.7 Gyroscope Verified Turns

Because the magnetometer can easily be influenced by the environment and giveerroneous readings, the yaw (rotation left or right) from the gyroscope readings wasconsidered as well. With the gyroscope as a second source changes in the headingfrom the magnetometer could be cross-referenced with that from the gyroscope. Todetect a turn both sources had to concur; both indicating a turn at the same time. Ifthe magnetometer indicates a change in heading but the gyroscope has yet to detecta rotation (e.g. because of a magnetic disturbance) the change in heading will beignored as it is unlikely that it was a turn. This allowed the heading correction tobe less aggressive and detect turns earlier.

20

CHAPTER 4. PROTOTYPE

The gyroscope could not be used alone to track the heading because of drift andinaccuracies. In this implementation the gyroscope is only used to track rotation ina short window of time so the drift is negligible.

4.8 Logic Interpreted Traversal

This step implemented logic to traverse the links with the help of turn detection.The logic decided where to try the next match based on movement in relation tothe currently matched link. This means that if there was no turn detected, thenthe next match will only be attempted against the same link or links that areconnected to the current link and keep going straight. These connected links maybe connected directly or indirectly (through other connected links) but need to havea similar heading. When a turn is detected the match will be attempted againstlinks forming a turn in that particular direction compared to the current link (infront or behind the current position). The reason for matching against links in frontor behind the current link is, again, because of inaccuracy in distance estimation,but also because some links, especially with pedestrian networks, are very short.When the links are short there is a greater chance that the current match is on thewrong link; this can be even a small error in distance. Further, candidate links arerequired to be located within a search radius based on the distance from the lastturn, this is because the error in distance is accumulated over straight stretches.The longer the distance from the last turn, the bigger the accumulated error mightbe, therefore the search radius is increased with the distance.

This method has a strong dependence on topology and thus will only try tomatch links that do not fit the above requirements after failing to find any matchagainst the initial candidates.

4.9 GNSS Recovery

To increase the robustness of the prototype a recovery based on GNSS was tested.The point was to try and detect when the algorithm had a mismatch and deviatedfrom the actual route. The recovery was done by checking the distance of eachmatched position against the distance to the corresponding position reported byGNSS. If the distance was greater than a set limit, the matching was restarted fromthe GNSS position. This limit changed depending on the reported accuracy of theGNSS position.

This was not included as a standard part of the algorithm in any iterationin order to observe the performance without using GNSS. As mentioned in 2.1.6,the position reported from iOS is difficult to use since the source is uncertain.Therefore it was used “as is”, without correction or additional interpretation, onlywith consideration to the reported accuracy. There is no other method available forabsolute positioning which is required for recovery.

21

CHAPTER 4. PROTOTYPE

4.10 Step Detection and Step Length Estimation

The last iteration added support for step detection and dynamic step length estim-ation to try to improve on the distance estimations. This was done in a similarmanner to that of Pratama and Hidayat (2012), using peak detection to identifysteps and Scarlett’s first model for step length estimations. A moving average filterwas implemented, but there was no need for a filter to remove gravity as iOS’s APIprovides a method to read the acceleration that is only influenced by the user.

Prior to this iteration the full algorithm was completed for each data sampleand a corresponding position was calculated. With step-based movement, a stephas to be detected before movement can be calculated, causing the full algorithmto only be completed once for every detected step.

22

Chapter 5

Results

This chapter presents how the testing routes were created and how the data wascollected. The chapter also presents some of the data that was recorded and the in-cremental results obtained with the prototype. Throughout, the results are presen-ted with circles (appearing like dots) overlaid on a map. One circle for each run ofthe algorithm. The circles mostly appear with very small spacing causing them toappear as lines. The chapter concludes with the results from the final prototype.

5.1 Route Data

The area used for collecting test data is within a 200 m radius centered on 59°19’40"N18°02’54"E (in WGS 84), see figure 5.1. The area was chosen partly out of conveni-ence as the Stockholm office for Astando is located in that area (Hantverkargatan5, Stockholm, Sweden). Another reason is that the area contains some variation ofcorners (radius and angle) allowing for more variation in the data.

Figure 5.1. The area used for collecting data.

23

CHAPTER 5. RESULTS

Within this area two routes were created, route 0 and route 1, each consistingof 23 links (coincidence), they are outlined in figure 5.2. The routes were createdmanually so they could be planned to incorporate corners and straight paths ofdifferent kinds. They were not made to represent realistic guidance routes. Forexample, the normal goal of a navigation route is to reach a different location, herethey return to their starting position.

Figure 5.2. Route 0 (left) and route 1 (right) shown in green.

In the prototype the routes are displayed as an overlay over the built-in mapavailable in iOS 6.1 as provided by TomTom. This was only done for visual reference,none of the map data from iOS was used in the algorithms.

5.2 Data Variance

Throughout the tests it was noted that the quality of the heading indicated by themagnetometer varied greatly. One interesting tendency that was observed was thatthe error from the magnetometer appears to stay very similar over each straightstretch but vary each time. This can be seen in the two following plots, fig. 5.3 andfig. 5.4, each from data within 5 days of each other.

Figure 5.3. Deduced reckoning (red) for route 1 (green). The starting point ismarked by the orange circle.

24

CHAPTER 5. RESULTS

Figure 5.4. Same route as fig. 5.3 when measured 5 days later.

For example, in figure 5.3, the magnetometer is off by about 40° on the firststretch (the red line heading south on the east side), and at the same time reporting±20° accuracy. This is followed by errors of around 10°, 0°, and finally 10° againon the last stretch. Each straight stretch only has small variations in heading. Infigure 5.4 the same route was walked but different errors were experienced, the firststretch now has a very small error. The magnetometer only seems to be able torecover from any initial error after a significant change in heading.

5.3 Algorithm Progression

While PDR alone can trace the general shape of the route, the accumulated errorsplaces it away from the actual route, see figure 5.5. In order to make this datauseful some corrections need to be applied. Simply adding on the uncoupled naïveMM yields nothing useful, see figure 5.6.

Figure 5.5. Route 0 in green and PDR trace in red.

25

CHAPTER 5. RESULTS

Figure 5.6. The PDR trace from figure 5.5 (above) matched to closest link insurrounding pedestrian road network (in green).

By calculating each new PDR position starting from the preceding MM there isa significant improvement. In figure 5.7 the results from this change can be seen,here the topology is also used. Blue circles are matches to pedestrian roads thatare considered reliable by the topology.

Figure 5.7. Reliable matches are marked blue while only PDR remain in red.

To improve on this, matching can be limited to only attempt to match linksthat are part of the route in question. This change highlights the problem of onlymatching using closest link (within a limit) and not considering the heading direc-tion. In figure 5.8 the turn in the southwest end is too far from the corner and thelink going west is still closer than the link heading north. Because of the differencein heading the match is not deemed reliable.

26

CHAPTER 5. RESULTS

Figure 5.8. Matching with only the links that make up route 0.

A link on its own does not have a single heading so each link was tested inboth directions when compared against the pedestrian heading. A link going southto north (or opposite) will be matched as having heading 0° and 180°. This givessome problems if the links in the entire road network are possible candidates formatching. Another effect is that continuing to walk past the end of a link whileretaining a similar heading will match the end of the link until the heading changes.An example of both of these effects can be seen in figure 5.9. The section that issupposed to go north on the west side in fig. 5.9 found a closer match with a linkheading south as it also has a similar heading. All movement going north ends upabsorbed into the north end of that south link and the whole matching collapsesand ends up taking the same path back to where it started.

Figure 5.9. Mismatch against the whole surrounding pedestrian network.

When only matching against the links that are part of the route there are nodistracting links and the results are much better. One big factor in this is thatthe errors are larger than the density of the road network, so only using the links

27

CHAPTER 5. RESULTS

of a route allows larger errors without mismatch. The only difference between theresults seen fig. 5.9 and fig. 5.10 is the links available for matching. Figure 5.10looks a little bit better than it is because of the endpoint absorption. An exampleof this can be seen when comparing the northeast corner from fig. 5.8 to the samecorner in fig. 5.10.

Figure 5.10. Matching with consideration to heading against the route 0 links.

With heading correction there is not a big difference. It makes the PDR use amore accurate heading so each new position is closer to straight ahead as opposedto slightly off to the side. Adding in the gyroscope data helped keep the headingon track even when the magnetometer indicated a slight change. Because of theconstant error in the magnetometer heading along some straights, a large part of theallowed error margin was used up to correct this. After that correction there wasnot much margin left for additional errors before the heading was so far from thelink that it exceeded the error margin and the correction was discarded. This couldcause even a small disturbance in the magnetometer to make the algorithm doubtthe match and that is when the gyroscope comes in as a second source to confirma turn. With this added, the limit could be lowered without causing mismatch andallowed for turns to be detected earlier. The data in the plot only contains onedisturbance (on the southeast straight in fig. 5.10) that can be seen corrected infigure 5.11, but other datasets have shown more problems that could be corrected.

There were no observed problems with drift in the gyroscope readings, but thereadings were never used to tell heading and therefore did not need integration thatcauses the drift to add up. Any effect from drift was minimized by only examiningthe change over the last few moments and in that way only very small errors havetime to accumulate.

28

CHAPTER 5. RESULTS

Figure 5.11. Matching with gyroscope added to verify turns.

In order for the algorithm to not have severe mismatch at this stage, it wasrequired to strip away links that were not part of the current route. The additionallinks could be allowed back in when the logic interpretation of the movement wasadded in.

Because this logic version of the algorithm waits for the pedestrian to finishturning before matching, the corners are marked as unreliable; this can be seen infigure 5.12.

Figure 5.12. Matching against full pedestrian network with logic traversal. Begin-nings of turns are marked with magenta and the ends with cyan.

The one miss the algorithm makes in fig. 5.12 is the vertical line to the eastshould be in the link slightly to the west of it. Up to this point most distances havebeen wrong by a varying amount, but when only matching against the route thereis very little to create a mismatch with, so it was not much of an issue. There wasalso some variance in how accurate the distances were, some too short and some toolong, all in the same dataset. With step-based distance estimation the estimateswere still off but now in a consequential manner. This change also enabled the

29

CHAPTER 5. RESULTS

matching to follow the route without any mismatch; this can be seen in figure 5.13for route 0 and figure 5.14 for route 1.

Figure 5.13. Final result with step-based distance estimations for route 0.

Figure 5.14. Final result with step-based distance estimations for route 1.

The consequence of adding in the step-based distance estimation is that thealgorithm no longer runs once for each sample and instead only once after each step.The algorithm was not designed to work in that setup but rarely failed to performits function. There were a few datasets that detected turns accurately without stepdetection but failed with it and gave mismatches when using the entire network.

The error in distance for route 0 in the dataset used in fig. 5.13 is 45 / 669 m(~7 %) with two major contributors. The largest contributor is the westboundstretch to the south with 30 m error in 203 m (~15 %) and has a slight, but constant,incline. The other contributor is the northbound stretch to the west with 12 m errorin 87 m (~14 %) and is also on an incline, but steeper.

The corresponding error for route 1 in the dataset used in fig. 5.14 is 19 / 726 m(~3 %) divided over two stretches with errors. The eastbound stretch in the south

30

CHAPTER 5. RESULTS

end is 8 m wrong over a 239 m straight (~3 %) and the northbound stretch to thewest is 11 m over 178 m wrong (~6 %). The northbound stretch starts with slightinclination and increases towards the north end.

Both sets are average for their respective routes.

5.4 GNSS Data

The GNSS positions were recorded at 1 second intervals in parallel to sampling theother sensors for data to use with PDR. The GNSS points roughly follow the routes,but have big deviations from it at times. In figure 5.15 the GNSS points line upwell with the route over some parts but at others have serious problems and, atpoints, stray far from the correct side of the street. The sample in fig. 5.15 is aboutaverage compared to other datasets.

Figure 5.15. GNSS positions (red) for route 0 (green). The starting position ismarked by the orange circle.

As mentioned in 4.9, GNSS was not used in the algorithm for navigation. Therewere some tests to use GNSS to recover after matching had gone wrong. Thisshowed some promise but because of the inaccuracy in the position from GNSS, thematching had to stray well off the route before it could be assumed that the GNSSposition was more likely to be correct. Another effect from the inaccuracy was thatthe new position would not be very accurate if projected on the entire pedestriannetwork. If the projection was limited to only the current route the new positionhad a higher chance to be useful. If the new position was one the correct link anyremaining error would be reset at the next turn.

31

Chapter 6

Discussion

The final results show a much better fit to routes when compared to the unmatchedGNSS points. In most of the tested cases the algorithm is able to track the fullroute without mismatch, however, the distance error is difficult to quantify as itshowed some large variations (3~15 %). As the algorithm is able to accuratelydetect turns and match the position after a turn to a link, the error in distanceand drift is, in practice, reset every time there is a turn. However, this is not avery practical combination with the kind of routes a person with visual impairmentwould prefer; When Lindeberg (2012) developed profiles to be used when planningroutes for persons with visual impairments, one of the profiles had a heavy focuson avoiding turns while the other just prefers to avoid them. The profile that hadheavy focus on avoiding turns would rather walk further if it meant they did nothave to turn as much. The other profile prefered a shorter route but still wanted tominimize the number of turns. Avoiding turns means that there will be a greaterinterval between each turn and that there will be longer straight sections, this willmake the distance estimations have a greater importance. Step-based estimationsshow good promise in other studies and the implementation used in the prototypecould be improved. While the implementation in the prototype works, there wasnot enough time to sufficiently calibrate and test it.

A complement to resetting drift at turns could be to request the user to notifythe application at certain points during long straight sections, allowing the steps tobe recalibrated and the current position to be set there. For example, these pointscould be at the end of a block or at a pedestrian crossing. This is inconvenient forthe user, but it could be used as a complement when the route has a significantdistance between turns.

It is mentioned in 3.5 that the test routes were a bit short (670~730 m), it wouldbe interesting to test with longer routes, 2 km or longer, to see how it affects theperformance of the prototype.

There were a few datasets that gave severe mismatches when using the step-based estimations, but did not have any large problems without it. Because the stepdetection caused the full algorithm to run less frequently the rest of the algorithm

32

CHAPTER 6. DISCUSSION

had less data to work with. In the cases that gave mismatches this was because aturn was not detected with the lower amount of data. This could possibly be solvedby running the turn detection on all samples in parallel to the step detection anduse the best from each part.

The error in distance is regarded as the largest obstacle for using this prototypeas a navigation aid to people with visual impairments. This is because the prototypeneeds to be able to guide the user to a specific spot on a road, such as a crosswalk,with confidence.

There are adjustments that can be made to the step length estimation. Scarlett(2007) presents a better method in his application note that brings his error downfrom 10 % to around 6 % and it would be interesting to see if it improves in this setupas well. In both of his models there is a constant to calibrate the step for differentindividuals and paces. This constant could be updated after each straight distanceto match that distance when the algorithm deems the mapping to be accurate. EvenGNSS positions could be used to update this constant, but after passing some sortof quality control. This could then provide a better estimation for the next distance.

One thing to note is that Lindeberg (2012) observed that a pedestrian withvisual impairment can have a somewhat different style of walking compared to apedestrian with full sight. As stated under 1.2 this was not taken into considerationin this degree project. Unlike a GNSS-based approach, like that of Stjerne (2012),the method in this paper is more dependent on the characteristics in the movementof the pedestrian. Therefore a change in method, such as step model or attachmentpoint for the iPhone, could give reason for a thorough investigation in proper contextto see if it still works as intended.

One parameter that has not been taken into consideration in the prototypeis the widths of the links (i.e. width of a sidewalk). This could be useful whentrying to deal with additional movement that is not directed in the travel direction.An example is when walking around an obstruction on a sidewalk; this could beinterpreted as a turn away from the link and create a mismatch. The width of thelink could, in such a case, be used as a margin and keep matching to the same link.

Overall there is probably a need to create tolerance for actions that might occurwhile navigating that is not related to advancing one’s position; such as stoppingand turning on the spot and then turning back to resume walking. On the samepoint, a filter to check if the movement is realistic for a pedestrian, such as checkingthe speed and rate of change, could help with ignoring erroneous measurements.Neither of this was used in the prototype as the person walking when collectingdata was strictly following the routes.

Another interesting point would be to implement a more sophisticated modelfor fusing the different sources of data. One common method for this is KalmanFilter and it can handle noise and errors.

Matching against a predefined route is much easier than a complete network ofpedestrian roads, this is quite elementary as the links to match against are greatlyreduced when matching against a route. However, a problem can arise when the userdecides to alter the route on the fly and this can be difficult to detect if matching is

33

CHAPTER 6. DISCUSSION

only performed against the initial route. To improve the matching against the entirepedestrian network the MM might be improved by weighting in the heading whenlooking for a closest link. As it is implemented now, once two routes fit the similarheading of the travel direction only the distance is compared. But considering thatthe error in heading has been seen to extend beyond the reported accuracy marginsthis might not be an improvement.

The logical traversal gave a good increase to the ability to follow the route andfor this to work a reliable turn detection is required. That is why the logic wasnot implemented until all turns were consistently detected. The main reason forthe better fit is believed to be because the algorithm attempts to traverse the linksin a similar manner to a pedestrian, considering how the links are related. This,however, creates a strong dependency on geometry and topology data. It also makesit difficult to track a pedestrian that deviates from the geometry, e.g. crosses a streetwhere there is no pedestrian crossing (including synthesized ones).

One point that might prove important to address when exposing the prototypeto other routes is that the heading of each link was generalized to the headingcreated by the endpoints of the link. This can give an inaccurate representationfor some of the segments that a link is constructed from. For instance, a singlelink with a C- or S-shape would be represented with a single heading but actuallyconstrain a great deal of variance. This did not create an issue for the test routes asthey are composed of fairly straight links. It is more likely that this generalizationhelped as the detail of the links accurately depicts the curb corners as rounded atsome points. Since the width of the links was not considered there would be nomargin for walking straight across a corner if their headings were accurate.

Links with complex shapes could be avoided if the routing engine was supplieda profile indicating not to use those when creating the route. Another way could befor the supplied route to be pre-analyzed and complex links broken down to simplerones before being fed to the algorithm.

A technique that was not used but could prove useful is post-matching. Thismeans going back to previous points (matched and unmatched) and updating thembased on the additional information acquired since. In this prototype each matchwas based only on what was known up to that point, but when later matches havebeen made those can be used to improve previous ones. This could be used to geta closer fit to the route and thus improve the positioning further and create betterfuture estimates.

The sampling was made at 20 Hz with the intention of getting as much detailas possible. If it turns out to be too straining to use this sampling rate whencalculating in real time on the target device (as opposed to post-processing in asimulator, like with the prototype) it is possible a lower rate could work.

There was an initial thought to compensate the distance estimated with PDRwhen walking on slopes because of the issues shown by Stjerne (2012). However,because the pedestrian network that was used did not contain elevation data at thetime and the iPhone does not have a barometer, this part was skipped. Mezentsev(2005) suggests that the error from the slopes could be handled as step length errors

34

CHAPTER 6. DISCUSSION

but this was also never tested because of time constraints.Research within this area is often said to be of use to track military and emer-

gency responders, but as the method used in the prototype relies on a good roadnetwork this might not be a viable usage.

As MEMS sensors improve and become cheaper in the future, this area is boundto improve as well. This would make tracking more accurate and reliable as theerrors ought to decrease.

6.1 Conclusions

The objective of this degree project was to create a system that could provide higheraccuracy for navigation than current GNSS-based implementations. A problem withcreating a system for urban environments is the low accuracy of GNSS in thoseareas. The final prototype presented in this paper uses the accelerometer (z-axis),gyroscope (rotation rate around the z-axis) and magnetometer together with mapdata (geometry and topology) to accurately track a pedestrian on a route. Thiswas done successfully without the use of GNSS. GNSS was only tested as a meansto recover after severe drift and mismatch. While there is no measurement for theaccuracy of the GNSS version, it does not give the accuracy to place the user onthe correct side of a street. The prototype developed in this project does give thataccuracy and figure 5.13 and figure 5.14 demonstrates a good fit to the tested routes.

The results were good and there are also good indicators that the largest re-maining issue can be solved. The main issue lies in the errors for the estimateddistances, the largest errors on single straight stretches was 3 to 15 %. A good fit tothe routes was achieved by using a strong dependency on map matching to a detailedpedestrian network and logic for moving between links. One very important part ofthis was the efficient turn detection that allowed the logical traversal technique tobe implemented. Overall the error in distance estimations for the completed routeswas 3~7 % in total.

While the routes could be followed by the prototype it is not known if it issufficient to be used as a full navigation aid. The existing navigation aid, TeDuCo,using the sensor package mentioned in 1.3, does not have any quantified error mar-gins for what is required for the system to work. The TeDuCo system was testedempirically and adjusted until it worked satisfactory. Therefore a further study isrequired to see if the system used in this prototype is viable to replace TeDuCo.

6.2 Further Research

As the prototype stands now, the largest issue is the distance estimations. Imple-menting the final method by Scarlett (2007) and testing its performance with theiPhone, but also how it handles slopes, could be interesting. If the system is to workwith persons with visual impairments this should be taken into consideration whendeciding step length model. Testing against actual guidance routes and utilizing

35

CHAPTER 6. DISCUSSION

the characteristics of those could be a valuable limitation to work with. To alsocalculate with delay could allow the system to know more about each action. Thiscould, for example, give the system time to make sure that the peaks in accelera-tion used for step detection are the actual maximum peaks for that step instead ofsmaller, local ones. On that subject, it could be useful to investigate the tolerancefor delay for the user.

The prototype was used while held in hand but, for convenience, support shouldbe added for the device to be placed on the user. For accurate tracking this mightrequire a specified location on the user so the calibrations will be accurate. If itwas to be placed at the hip, the technique by Lan and Shih (2012) could be tested.Although it seems unlikely that the same accuracy (98 %) can be achieved withdifferent users and over longer distances (i.e. >100 m).

The GNSS position was not used in the final algorithm but it is a valuable sourcefor enabling recovery when following a route. The recovery method could do withimprovements, an easy bit to add would be to consider the heading if there aremultiple probable matches.

36

Bibliography

Akiyama, T., Teranishi, Y., Okamura, S. and Shimojo, S. (2010), ‘An Approachfor Filtering Inaccurate Access Point Observation Report in WiFi PositioningSystem’, 2010 International Conference on P2P, Parallel, Grid, Cloud andInternet Computing pp. 517–520.

Apple (2012), ‘CLLocationManager Class Reference’. Last accessed Mars 5th,2013.URL: http://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManager_Class/

Asano, S. and Wakuda, Y. (2012), ‘Pedestrian dead-reckoning unit for navigationsystem using mobile device’, Consumer Electronics (GCCE), 2012 IEEE 1stGlobal Conference on pp. 530–534.

Bell, J. (2006), Introduktion till forskningsmetodik, 4:5 edn, Studentlitteratur,Lund.URL: http://books.google.se/books?id=xBoZPQAACAAJ

Bernstein, D. and Kornhauser, A. (1996), ‘An Introduction to Map Matching forPersonal Navigation Assistants’, Vehicle Navigation and Information SystemsConference, 1989. Conference Record (August).

Chen, W., Chen, R., Chen, Y., Kuusniemi, H. and Wang, J. (2010), ‘An effectivePedestrian Dead Reckoning algorithm using a unified heading error model’,IEEE/ION Position, Location and Navigation Symposium pp. 340–347.

Cui, Y. and Ge, S. S. (2003), ‘Autonomous Vehicle Positioning With GPS inUrban Canyon Environments’, Robotics and Automation, IEEE Transactions19(1), 15–25.

Department of Defense USA (2008), ‘Global Positioning System StandardPositioning Service Performance Standard, 4th Edition’.URL:http://www.gps.gov/technical/ps/2008-SPS-performance-standard.pdf

Djuknic, G. and Richton, R. (2001), ‘Geolocation and assisted GPS’, Computer34(February), 123–125.

37

BIBLIOGRAPHY

Fang, L., Antsaklis, P. J., Montestruque, L. A., McMickell, M. B., Lemmon, M.,Sun, Y., Fang, H., Koutroulis, I., Haenggi, M., Xie, M. and Xie, X. (2005),‘Design of a wireless assisted pedestrian dead reckoning system-the NavMoteexperience’, Instrumentation and Measurement, IEEE Transactions on54(6), 2342–2358.

Godha, S., Lachapelle, G. and Cannon, M. (2006), ‘Integrated GPS/INS systemfor pedestrian navigation in a signal degraded environment’, ION GNSS(September), 26–29.URL: http://plan.geomatics.ucalgary.ca/papers/06_ION_GNSS_Godha_et_al_Session_A5.pdf

Google (2013), ‘GpsStatus | Android Developers’. Last accessed Mars 14th, 2013.URL: http://developer.android.com/reference/android/location/GpsStatus.html

Groenman, N. H., Buckenham, M. and Slevin, O. (1992), Social and BehaviouralSciences for Nurses, Nelson Thornes, 1992.URL: http://books.google.com/books?id=sBqn0Wl1i-4C

Höst, M., Regnell, B. and Runeson, P. (2006), Att genomföra examensarbete, 1:6edn, Studentlitteratur, Lund.URL: http://books.google.se/books?id=gUaHMwAACAAJ

Huang, J.-y. and Tsai, C.-h. (2008), ‘Improve GPS positioning accuracy withcontext awareness’, 2008 First IEEE International Conference on Ubi-MediaComputing pp. 94–99.

Jin, Y. and Soh, W.-S. (2011), ‘A robust dead-reckoning pedestrian trackingsystem with low cost sensors’, 2011 IEEE International Conference onPervasive Computing and Communications (PerCom) pp. 222–230.

Jirawimut, R., Ptasinski, P., Garaj, V., Cecelja, F. and Balachandran, W. (2003),‘A method for dead reckoning parameter correction in pedestrian navigationsystem’, IEEE Transactions on Instrumentation and Measurement52(1), 209–215.

Kemppi, P. and Rautiainen, T. (2010), ‘Hybrid positioning system combiningangle-based localization, pedestrian dead reckoning and map filtering’, IndoorPositioning and Indoor Navigation (IPIN), 2010 International Conference on(September), 15–17.

Kuhn, M. J., Mahfouz, M. R., Turnmire, J., Wang, Y. and Fathy, A. E. (2011), ‘Amulti-tag access scheme for indoor UWB localization systems used in medicalenvironments’, 2011 IEEE Topical Conference on Biomedical WirelessTechnologies, Networks, and Sensing Systems pp. 75–78.

38

BIBLIOGRAPHY

Lachapelle, G., Godha, S. and Cannon, M. (2006), Performance of IntegratedHSGPS-IMU Technology for Pedestrian Navigation under Signal Masking, in‘Proceedings of European Navigation Conference’, pp. 8–10.URL: http://plan.geomatics.ucalgary.ca/papers/ENC06_Paper76_Lachapelleetal.pdf

Lahrech, A., Boucher, C. and Noyer, J.-C. (2005), ‘Accurate vehicle positioning inurban areas’, 31st Annual Conference of IEEE Industrial Electronics Society,2005. IECON 2005. (1), 486–490.

Lan, K.-C. and Shih, W.-Y. (2012), Using simple harmonic motion to estimatewalking distance for waist-mounted PDR, in ‘2012 IEEE WirelessCommunications and Networking Conference (WCNC)’, IEEE, pp. 2445–2450.

Lindeberg, C. F. (2012), Hur olika kategorier av blinda och synsvaga kan få enoptimal navigering vid ett navigeringsstöd anpassat för dem, Master’s thesis,KTH.URL: http://www.nada.kth.se/utbildning/grukth/exjobb/rapportlistor/2012/rapporter12/florman_lindeberg_charles_12081.pdf

Mezentsev, O. (2005), Sensor Aiding of HSGPS Pedestrian Navigation, PhDthesis, University of Calgary.

Nassreddine, G., Abdallah, F. and Denœux, T. (2008), Map matching algorithmusing belief function theory, in ‘Information Fusion, 2008 11th InternationalConference on’, pp. 1–8.

Pinchin, J., Hide, C. and Moore, T. (2012), The use of high sensitivity GPS forinitialisation of a foot mounted inertial navigation system, in ‘Position Locationand Navigation Symposium (PLANS), 2012 IEEE/ION’, pp. 998–1007.

Pratama, A. R. and Hidayat, R. (2012), ‘Smartphone-based Pedestrian DeadReckoning as an indoor positioning system’, 2012 International Conference onSystem Engineering and Technology (ICSET) pp. 1–6.

Quddus, M. A., Ochieng, W. Y. and Noland, R. B. (2007), ‘Current map-matchingalgorithms for transport applications: State-of-the art and future researchdirections’, Transportation Research Part C: Emerging Technologies15(5), 312–328.URL: http://linkinghub.elsevier.com/retrieve/pii/S0968090X07000265

Quddus, M., Noland, R. and Ochieng, W. (2006), ‘A High Accuracy Fuzzy LogicBased Map Matching Algorithm for Road Transport’, Journal of IntelligentTransportation Systems: Technology, Planning, and Operations 10(3), 103–115.

Ren, M. and Karimi, H. A. (2011), ‘A fuzzy logic map matching for wheelchairnavigation’, GPS Solutions 16(3), 273–282.URL: http://www.springerlink.com/index/10.1007/s10291-011-0229-5

39

BIBLIOGRAPHY

Scarlett, J. (2007), ‘Enhancing the Performance of Pedometers Using a SingleAccelerometer’, Analog Device pp. 1–16.URL: http://www.analog.com/library/analogDialogue/archives/41-03/pedometer.html

Seitz, J., Vaupel, T. and Jahn, J. (2010), ‘A Hidden Markov Model for urbannavigation based on fingerprinting and pedestrian dead reckoning’, InformationFusion (FUSION), 2010 13th Conference on pp. 1–8.

Stjerne, T. (2012), Map-matching på iPhone mot ett digitaliserat gångvägnät istadsmiljö, Master’s thesis, KTH. Unpublished.

Tseng, Y.-C. and Kuo, L.-C. (2011), ‘A Walking Velocity Update technique forpedestrian dead-reckoning applications’, 2011 IEEE 22nd InternationalSymposium on Personal, Indoor and Mobile Radio Communicationspp. 1249–1253.

U.S. Coast Guard Navigation Center (1996), ‘Navstar GPS User EquipmentIntroduction, Public Release Version’, (September).URL: http://www.navcen.uscg.gov/pubs/gps/gpsuser/gpsuser.pdf

Winter, M. and Taylor, G. (2003), Modular neural networks for map-matched GPSpositioning, in ‘Web Information Systems Engineering Workshops’, pp. 1–6.

Yan, M., Xiuwan, C. and Yubin, X. (2012), ‘Wireless Local Area Network AssistedGPS in Seamless Positioning’, 2012 International Conference on ComputerScience and Electronics Engineering pp. 612–615.

Yu, M., Li, Z., Chen, Y. and Chen, W. (2006), ‘Improving Integrity andReliability of Map Matching Techniques’, Journal of Global Positioning Systems5(1&2), 40–46.URL: http://www.gnss.com.au/JoGPS/v5n12/v5n12p07.pdf

Zampella, F., Khider, M., Robertson, P. and Jimenez, A. (2012), ‘UnscentedKalman filter and Magnetic Angular Rate Update (MARU) for an improvedPedestrian Dead-Reckoning’, Proceedings of the 2012 IEEE/ION Position,Location and Navigation Symposium pp. 129–139.

Zhang, J., Li, B., Dempster, A. and Rizos, C. (2010), ‘Evaluation of highsensitivity GPS receivers’, Evaluation pp. 1–6.URL:http://www.gmat.unsw.edu.au/snap/publications/zhangj_etal2010a.pdf

40

www.kth.se