server based real time gps-imu integration aided by fuzzy...

95
II Server Based Real Time GPS-IMU Integration Aided by Fuzzy Logic Based Map Matching Algorithm for Car Navigation Yashar Balazadegan Sarvrood and Md Nurul Amin Master’s of Science Thesis in Geodesy TRITA-GIT EX 11-007 School of Architecture and the Built Environment Royal Institute of Technology (KTH) Stockholm, Sweden September 2011

Upload: others

Post on 14-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

II

Server Based Real Time GPS-IMU Integration

Aided by Fuzzy Logic Based Map Matching

Algorithm for Car Navigation

Yashar Balazadegan Sarvrood and Md Nurul Amin

Master’s of Science Thesis in Geodesy

TRITA-GIT EX 11-007

School of Architecture and the Built Environment

Royal Institute of Technology (KTH)

Stockholm, Sweden

September 2011

Page 2: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

III

Abstract

The stand-alone Global Positioning System (GPS) or an Integrated GPS and Dead Reckoning Systems

(such as Inertial Navigation System or Odometer and magnetometer) have been widely used for

vehicle navigation. An essential process in such an application is to map match the position obtained

from GPS (or/and other sensors) on a digital road network map.

GPS positioning is relatively accurate in open sky conditions, but its position is not accurate in dense

urban canyon conditions where GPS is affected by signal blockage and multipath. High sensitivity

GPS (HS GPS) receivers, can increase the availability, but are affected by multipath and cross

correlation due to weak signal tracking. Inertial navigation system can be used to bridge GPS gaps,

However, position and velocity results in such conditions are typically biased, therefore, fuzzy logic

based map matching, is mostly used because it can take noisy, imprecise input, to yield crisp (i.e.

numerically accurate) output. Fuzzy logic can be applied effectively to map match the output from a

High sensitivity GPS receiver or integrated GPS and INS in urban canyons because of its inherent

tolerance to imprecise inputs.

In this thesis stand-alone GPS positioning and integrated GPS and Inertial Measurement Unit (IMU)

positioning aided by fuzzy logic based map matching for Stockholm urban and suburban areas are

performed. A comparison is carried out between, Map matching for stand-alone GPS and integrated

GPS and IMU. Stand-alone GPS aided map matching algorithms identifies 96.4% of correct links for

rural area, 92.6% for urban area (car test) and 93.4% for bus test in urban area. Integrated GPS and

IMU aided map matching algorithms identifies 97.3% of correct links for rural area, 94.4% for urban

area (car test) and 94.4% for bus test in urban area. Integrated GPS and Inertial Measurement Unit

produces better vehicle azimuth than stand-alone GPS, especially at low speed. Furthermore, there are

five more fuzzy rules based on gyro rate in integrated GPS and IMU map matching algorithm.

Therefore, it shows better map matching results. GPS blackout happens rarely in Stockholm, because

there are not many tall buildings in this city. Therefore, the integrated GPS and IMU aided by map

matching shows only small improvement over stand-alone GPS aided by map matching.

Page 3: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

IV

Acknowledgements

We would like to express our appreciation to our supervisors, Dr. Milan Horemuz and Dr. Gyözö

Gidofalvi for their support, guidance and encouragement throughout our studies. They continuously

encouraged us to go through all the researches during our graduate studies. We are grateful to many at

our university: the staff and instructors at the Department of Geodesy and Geoinformatics for

providing high quality education.

Finally thanks go to our parents, for their dedications and endurances.

Page 4: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

V

Table of Contents

Abstract II

Acknowledgements III

Table of Contents IV

List of Figures VIII

List of Tables X

Abbreviations and Acronyms XI

CHAPTER 1: INTRODUCTION……………………………………………………………....1

CHAPTER 2: OVERVIEW OF GLOBAL POSITIONING SYSTEM (GPS) ............................3

2.1 GPS Observables………………………………………………………………………………3

2.1.1 Code Observable……………………………………………………………………....3

2.1.2 Phase Observable………………………………………………………………………………4

2.1.3 Doppler measurement…………………………………………………………………5

2.2 GPS Errors …………………………………………………………………………………….5

2.2.1 Orbital error…………………………………………………………………………...5

2.2.2 Satellite clock error……………………………………………………………………5

2.2.3 Receiver clock error …………………………………………………….…………….5

2.2.4 Ionospheric errors…………………………………………………….……………….5

2.2.5 Tropospheric error ……………………………………………………………………6

2.2.6 Multipath error………………………………………………………………………...6

2.3 DGPS…………………………………………………………………………………………..6

2.3.1 Phase Single difference………………………………………………………………..6

2.3.2 Phase double difference ………………………………………………………………7

2.3.3 Phase triple difference……………………………………………...…………………7

CHAPTER 3: OVERVIEW OF INERTIAL NAVIGATION SYSTEM ………………………….8

3.1 Coordinate Frames……………………………………………………………………………..8

3.1.1 Inertial Navigation Frame……………………………………………………………..8

3.1.2 Earth Centered Earth Fixed Frame (ECEF or e-frame)……………………………….9

3.1.3 The navigation frame (n-frame)……………………………………………………….9

3.1.4 The Body frame (b-frame)…………………………………………………………….9

3.2 Transformation between coordinate systems…………………………………………………10

Page 5: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

VI

3.3 Quaternion…………………………………………………………………………...10

3.4 Concept of Inertial Navigation……………………………………………………....11

3.5 Navigation Equations ………………………………………………………………..12

3.5.1 Navigation equation in i-frame……………………………………………...12

3.5.2 Navigation equation in e-frame……………………………………………..13

3.5.3 Navigation equation in n-frame…………………………………………..…13

3.6 Error of dynamics equations…………………………………………………………………14

3.7 Coarse alignment …………………………………………………………………………….14

CHAPTER 4: OVERVIER OF KALMAN FILTERING AND GPS-IMU

INTERATION METHODS.........................................................................16

4.1 Random process………………………………………………………………………………16

4.1.1 Stationary Random Process…………………………………………………………………..16

4.1.2 Ergodic random process ……………………………………………………………………..16

4.1.3 Some important random processes …………………………………………………………..16

4.1.3.1 White noise …………………………………………………………………16

4.1.3.2 Random constant……………………………………………………………16

4.1.3.3 Random walk Process……………………………………………………….17

4.1.3.4 Gauss-Markov Process…………………………………………………...…17

4.2 Kalman Filter………………………………………………………………………………...17

4.2.1 Space State…………………………………………………………………………………....17

4.2.2 Filter algorithm……………………………………………………………………………….18

4.2.3 Kalman filter in the prediction mode…………………………………………………………19

4.2.4 Method for Kalman filter linearization …………………………………………………..…..19

4.3 GPS-IMU integration methods…………………………………………………………….…20

4.3.1 Uncoupled integration…………………………………………………………….…20

4.3.2 Loosely coupled integration………………………………………………………………..…20

4.3.3 Tightly coupled integration………………………………………………………………...…22

CHAPTER 5: REVIEW OF EXISTING MAP MATCHING ALGORITHMS..............24

5.1 Introduction………………………………………………………………………………..…24

5.2 Literature Review……………………………………………………………………………..24

5.2.1 Geometric Analysis…………………………………………………………………..25

5.2.2 Topological Analysis………………………………………………………………...27

Page 6: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

VII

5.2.3 Advanced Map Matching Algorithm……………………………………………..….28

CHAPTER 6: A FUZZY LOGIC BASED MAP MATCHING ALGORITHM AND

SANDING DATA THROUGH INTERNET..............................................31

6.1 Introduction…………………………………………………………………………………...31

6.2 Improvement over Existing Fuzzy Logic Based Algorithms ………………………………..32

6.3 Overview of Fuzzy Logic Theory…………………………………………………………….32

6.3.1 Mamdani‟s Fuzzy Inference System………………………………………………....34

6.3.2 Sugeno‟s Fuzzy Inference System…………………………………………………...35

6.4 Map Matching Process………………………………………………………………………..35

6.4.1 Identification of the Correct Link ……………………………………………………………35

6.4.1.1 Initial Map Matching Process……………………………………………….36

6.4.1.2 The subsequent map-matching process…………………………………..…39

6.4.2 Determination of the vehicle location on the selected link …………………………………..45

6.4.3 Algorithm Step-by-Step ……………………………………………………………………...45

6.4.3.1 Steps involved in IMP………………………………………………………45

6.4.3.2 Steps involved in SMP………………………………………………………46

6.5 Sending current position and its map matched position through internet…………………….47

CHAPTER 7: NUMERICAL RESULTS AND TESTS……………..……………………48

7.1 Data Description……………………………………………………………………………...48

7.1.1 GPS data……………………………………………………………………………..48

7.1.2 IMU data……………………………………………………………………………………...48

7.1.3 Digital road network map data description…………………………………………..48

7.2 Implementation……………………………………………………………………………….49

7.2.1 Stand alone GPS positioning aided by map matching for car navigation…………...49

7.2.2 Integrated GPS and IMU positioning aided by map matching for car navigation…..50

7.3 Numerical results and tests…………………………………………………………………...51

7.3.1 Stand-alone GPS and GPS-IMU aided map matching results……………………….51

7.3.1.1 Stand-alone GPS and GPS-IMU aided map matching results for rural

areas………………………………………………………………………...52

7.3.1.2 Stand-alone GPS and GPS-IMU aided map matching results for urban

areas……………………………………………….…………………..........57

7.3.2 Summary………………………………………………….……………………….......................................63

Page 7: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

VIII

7.3.3 Sending current vehicle position and its map matched position through internet….66

CHAPTER 8: CONCLUSION AND DISCUSSION…………..…………………………67

8.1 Discussion…………………………………………………………………………………….67

8.2 Recommendation…………………………………………………….……………………….67

REFERENCES ...................................................................................................................................69

Appendix A…………………………………………………………………………………….…..…73

Appendix B……………………………………………………………………………………...……75

Appendix C…………………………………………………………………………………...………77

Appendix D…………………………………………………………………………………...………78

Appendix E…………………………………………………………………………………...………80

Page 8: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

IX

List of Figures

Figure 2.1 phase observable……………………………………………………………………....4

Figure 3.1: inertial frame………………………………………………………………………..…8

Figure 3.2: e-frame……………………………………………………………………………...…9

Figure 3.3: n-frame………………………………………………………………………………...9

Figure 3.4: b-frame……………………………………………………………………………….10

Figure 3.5: INS components…………………………………………………………………...…12

Figure 3.6: Gimbaled INS..............................................................................................................12

Figure 4.1: Kalman filter algorithm………………………………………………………...……19

Figure 4.2: Loosely coupled scheme……………………………………………………………..21

Figure 4.3: Tightly coupled scheme……………………………………………………………...23

Figure 5.1: Point-to-point map matching approach………………………………………………26

Figure 5.2: Point-to-curve map matching algorithm…………………………………………..…26

Figure 6.1: Mamdani‟s FIS scheme……………………………………………………………...34

Figure 6.2: Sugeno‟s FIS scheme………………………………………………………………..35

Figure 6.3: The fuzzification of (a) the speed of the vehicle, (b) the heading error, (c) the

perpendicular distance, and (d) HDOP………………………………………...……38

Figure 6.4: Example of initial Map Matching Process…………………………………………...39

Figure 6.5: SMP along a link……………………………………………………………………..40

Figure 6.6: The MFs for (a) the α or β, (b) the gyro-rate reading, (c) the Δd, (d) the heading

increment, and (e) a 180 degree heading increment ……………………………..…42

Figure 6.7: SMP at a junction……………………………………………………………………43

Figure 6.8: The MFs for (a) the link connectivity, and (b) the delta distance………………...….44

Figure 7.1: Implementation of stand-alone GPS aided by map matching ……………………….50

Figure 7.2: Implementation of integrated GPS and IMU aided by map matching ……..……….51

Figure 7.3: Route for Stand-alone GPS test at rural area ………………………………………..52

Figure 7.4: Stand-alone GPS, Map matching results for a part of test network in rural area which

includes a round-about and a motorway merging ……………………………...……53

Figure 7.5: Route for integrated GPS and IMU test at rural area………………………………...54

Figure7.6: Integrated GPS and IMU, Map matching results for a part of test network in rural area

Page 9: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

X

which includes a round-about and a motorway merging ……………………………55

Figure7.7: Comparison of the performance of Stand-alone GPS and Integrated GPS and IMU at

a Junction in rural area………………………………………………………………56

Figure 7.8: Route for integrated GPS and IMU test at urban area ………………………………57

Figure 7.9: Stand-alone GPS, Map matching results for a part of test network in urban which

includes a Square ……………………………………………………………………58

Figure 7.10: Route for integrated GPS and IMU test at urban area ………………………………59

Figure 7.11: Integrated GPS and IMU, Map matching results for a part of test network in rural area

which includes a Square ……………………………………………………………60

Figure 7.12: Comparison of the performance of Stand-alone GPS and Integrated GPS and IMU at

a Junction in urban area …………………………………………………………….61

Figure 7.13: Route for bus test at urban area……………………………………………………...62

Figure 7.14: Comparison of the performance of Stand-alone GPS and Integrated GPS and IMU at

a Junction in urban area (bus test) …………………………………………………...63

Figure 7.15: GPS-IMU azimuth………………………………………………………………..….64

Figure 7.16: Stand-alone GPS azimuth……………………………………………………………64

Figure 7.17: Results of Map Matching after GPS black out for GPS-IMU MM………………….65

Figure 7.18: Sending stand-alone map matched position through internet……………………......66

Page 10: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

XI

List of Tables

Table 7.1: Map Matching result comparison for Stand-alone GPS and GPS-IMU for rural

area..............................................................................................................................56

Table 7.2: Map Matching result comparison for Stand-alone GPS and GPS-IMU for urban

area…………………………………………………………………………………..61

Table 7.3: Map Matching result comparison for Stand-alone GPS and GPS-IMU for urban area

for bus test……………………………………………………………………………63

Table 8.1: Comparison of existing map matching algorithms ………..………………………...67

Table E.1: BT-338 Specification………………………………………………………………...80

Table E.2: General Specification of ISIS-IMU………………………………………………….80

Table E.3: ISIS-IMU output……………………………………………………………………..80

Table E.4: Method to calculate angular velocity and acceleration from output of ISIS-IMU…..81

Page 11: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

XII

Abbreviations and Acronyms

2-D Two dimensional

3-D Three dimensional

ABS Anti-Lock Braking

ATT Advanced transport telematics

b-frame Body frame

DGPS Differential GPS

DOP Dilution of precision

DR Dead reckoning

e-frame Earth centered

HDOP Horizontal DOP

FIS Fuzzy inference system

FL Fuzzy Logic

GPS Global Positioning

HE Heading error

HI Heading increment

HS High sensitivity

IMP Initial Map Matching

IMU Inertial Measurement Unit

INS Inertial Navigation System

i-frame Inertial frame

KF Kalman Filter

LBS Location-Based Services

LS Loosely couled

min Minimum

MM Map Matching

n-frame Navigation Frame

PD Perpendicular distance

RRF Road reduction filter

SINS Strap down INS

SMP Subsequent map matching

TC Tightly coupled

v Velocity

Page 12: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

XIII

List of Symbols

d Orbital error (m)

Phase observable

dt Satellite clock error (s)

dT Receiver clock error (s)

dion Ionospheric delay (m)

dtrop Tropospheric delay (m)

p

Code noise (receiver noise + multipath) (m)

c Speed of electromagnetic wave in vacuum (m/s)

N Phase ambiguity

p Code observable

Geodetic Longitude

Geodetic Latitude

h Ellipsoidal height

Skew Symmetric matrix of angular velocity

e Earth angular velocity

Roll angle

Pitch angle

Yaw angle

Normal gravity

g Gravitational acceleration

C Transformation Matrix

M Meridian radius of curvature

N Prime vertical radius of curvature

q Quaternion

(t)F

Dynamic coefficient Matrix

(t)G

Input-Output matrix

(t)W

System noise which is white noise

Page 13: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

XIV

(t)Z

Measurement vector

(t)H

Sensitivity measurement matrix and

)t(V

Measurement noise which is considered as white noise

Kronicle delta function

)(PK

Priory error covariance at time k

)(x̂1k

Posteriori estimate at time k-1

)(P1K

Posteriori error covariance at time k-1

)(x̂k

Priori estimate at time k

)(PK

Priory error covariance at time k

kK

Kalman gain

GW

Gyro white noise

b Accelerometer bias which is a random constant

AK

Accelerometer scale factor which is random constant

AW

Accelerometer white noise.

d Gyro drift which is a random constant

Page 14: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

1

CHAPTER 1

Introduction

Land vehicle navigation Systems have been a hot topic and high demand for research over the past

decade for a lot of applications like fleet management and Location-Based Services (LBS). The aim

of such a system is to correctly select the road link and locate the vehicle on it (Syed, 2005). Although

the SA (Selective Availability) was canceled on May 1, 2000, GPS positional error can reach up to

about 30 metres. In case of digital maps, various factors like errors in digitizing map and the distance

from the road centerline to the both end of the road makes the positional error of nearly 20 metres. As

a result, the direct plotting of GPS position does not reconcile with a digital map. Therefore Position

data need to be corrected with various methods to match with a digital map, and we call this

procedure map matching. Algorithms of the map matching have been developed continuously and

they can be classified roughly into three categories (Quads, 2006): 1) Geometric map matching which

consider only geometric relationships between vehicle position and a digital map, 2) Topological map

matching which consider not only geometric relationships but also the topology of the road network

and the history of GPS data, and 3) Advanced map matching that use more refined concepts such as a

Kalmam Filter (e.g., Krakiwsky et al., 1988; Tanaka et al., 1990; Jo et al., 1996, Kim et al., 2000), a

fuzzy logic model (e.g., Zhao, 1997; Kim et al., 1998, Kim and Kim 2001, Syed and Cannon, 2004),

Dempster-Shafer‟s theory (also known as Belief Theory) (e.g., Najjar and Bonnifait, 2003; Yang et

al., 2003), or the application of Bayesian interference (Pyo et al., 2001).

The quality of the localization process depends mainly on the quality of the road-matching, which is a

complicated problem when seeking to obtain reliable, precise and robust vehicle positioning on the

road network (Bernstein and Kornhauser, 1998; Zhao, 1997).

The most popular positioning technology used is the Global Positioning System (GPS), because of its

high accuracy positioning capability (Zhao et al., 2003). However, GPS-based vehicular navigation

systems are subject to severe performance degradation in environments like urban canyons, tunnels,

under bridges and streets with dense tree coverage so frequent complete or partial GPS outages is

unavoidable. To overcome this limitation, GPS is often integrated with an inertial navigation system

(INS), in which GPS facilitates the in-motion calibration of the INS, while the INS provides a

continuous navigation solution. Another advantage of GPS-IMU over stand-alone produces better

vehicle azimuth (which is a significant parameter in map matching) especially at low speeds (Quddus,

2006).

Stand alone GPS positioning aided by map matching and integrated GPS and IMU positioning aided

by map matching for Stockholm urban and suburban areas are performed in this thesis and the results

are compared. The stand-alone map matched positions are also sent to the remote user through

internet.

Page 15: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

2

The improvement obtained in map matching process by integrating the inertial measurement unit

(IMU) with GPS is explained briefly. Overview of the Global Positioning System (GPS) and inertial

navigation system (INS) is explained in Chapter 2 and Chapter 3, respectively. Then Kalman filtering

and GPS-IMU integration methods are discussed in chapter 4. Review of existing map matching

algorithm and fuzzy logic based map matching algorithms are explained in chapter 5 and chapter 6,

respectively. The numerical results and tests are shown in chapter 7. At last, conclusion and

discussion are presented in chapter 8.

Page 16: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

3

CHAPTER 2

Overview of Global Positioning System (GPS)

GPS was developed by the United States Department of Defense; it was originally designed for metre-

level positioning accuracies (Parkinson, 1996). GPS satellites broadcast navigation messages and

provide a global, 24-hour, all-weather navigation service. GPS satellites orbit is 20,200 km above the

Earth‟s surface with a period of about 12 hours. They transmit signals on two frequencies; L1 at

1575.42 MHz and L2 at 1227.6 MHz. To measure the time of travel of the signal both satellite and

receiver are equipped with clocks and a ranging signal is broadcast by satellite; the ranging signal is a

particular code in which is embedded a timing information that enables the receiver to compute when

the signal left the satellite according to the satellite clock (Kaplan and Leva, 2006). Actually satellites

and receiver clock are not synchronized, generating errors in the measured distances (also other error

sources affect the measurements, but they are negligible with respect to the error due to non-

synchronization); so the measured range is not equal to the true range and is denoted as pseudo range

(Kaplan and Leva 2006). GPS is well described in standard textbooks such as Kaplan (1996),

Parkinson (1996), Hofmann-Wellenhof et al., (1997), Misra and Enge, (2001) and is not discussed in

detail here.

2.1 GPS Observables

GPS observables are described briefly in the following part.

2.1.1 Code Observable

Pseudo range observations are obtained by measuring the transit time of the signal as it travels from

the GPS satellite to the receiving antenna. Receiver and satellite clocks are not synchronized. Satellite

clock error can be modeled by some coefficients available in the navigation message and receiver

clock error is considered as an unknown parameter. The other three unknown parameters are receiver

position. Code observation equation is described as follows (Hofmann-Wellenhof et al., 2001):

ptropiondd)dTdt(Cdp (2-1)

Where: is the geometric range between the GPS satellite and receiver antenna (m)

p is code observable

d is the orbital error (m)

dt is the satellite clock error (s)

dT is the receiver clock error (s)

dion is the ionospheric delay (m)

dtrop is the tropospheric delay (m)

Page 17: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

4

p is the code noise (receiver noise + multipath) (m) and

c is the speed of electromagnetic wave in vacuum (m/s).

2.1.2 Phase Observable

By measuring the phase of the incoming carrier (L1 and/or L2), the range to a satellite can be

measured with an ambiguous number of cycles. Phase observable is the most precise measurement in

GPS. Phase measurement includes number of complete cycles from time 0t (time of receiver lock) to

time t plus phase fraction at time t. Phase ambiguity (an unknown integer number at 0t ) is considered

as unknown as well. There are several methods for ambiguity resolution (Hofmann-Wellenhof et al.,

2001). After cycle slips phase ambiguity has to be resolved again. Phase observation equation is

described as follows (Hofmann-Wellenhof et al., 2001):

(2-2)

Where: is the geometric range between the GPS satellite and receiver antenna (m)

d is the orbital error (m)

is phase observable

dt is the satellite clock error (s)

dT is the receiver clock error (s)

dion is the ionospheric delay (m)

dtrop is the tropospheric delay (m)

p is the code noise (receiver noise + multipath) (m) and

c is the speed of electromagnetic wave in vacuum (m/s).

N is phase ambiguity and

is carrier phase wavelength.

Figure 2.1 shows the concept of a phase observable.

Figure 2.1 Phase Observable

tropionddN)dTdt(Cd

Page 18: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

5

2.1.3 Doppler measurement

The Doppler frequency is the third observable and it can be represented by code or the rate of change

of the carrier phase observable. It reflects the relative velocity between the receiver and the GPS

satellite. Doppler equation is the time derivative of phase equation and it is free of phase ambiguity.

Doppler observation equation is described as follows (Hofmann-Wellenhof et al., 2001):

tropion

dd)dTdt(Cd (2-3)

indicates time derivative.

2.2 GPS Errors

2.2.1 Orbital error

Orbital error is the difference between actual satellite position and the modeled satellite position.

Almanac data, broadcast ephemeris or precise ephemeris can be used to obtain satellite coordinates

(Hofmann-Wellenhof et al., 1997).

Broadcast ephemeris is available in real-time, which can determine satellite position with the accuracy

of about 3 m. Precise ephemeris can be downloaded from IGS (international GPS service) website

which can determine satellite position with the accuracy of about 5 cm. The orbital error is removed

almost completely in differential GPS.

2.2.2 Satellite clock error

The difference between satellite clock and GPS time is called satellite clock error. The satellite errors

are modeled via a polynomial, the coefficients of which are transmitted as a part of the navigation

message (Parkinson, 1996). This error is removed in DGPS.

2.2.3 Receiver clock error

The difference between receiver clock and GPS time is called receiver clock error. It can range from

200 ns up to a few ms, this error is removed in DGPS (double and triple difference) (Hofmann-

Wellenhof et al., 1997).

2.2.4 Ionospheric error

One of the most important errors in GPS is ionospheric error. Ionosphere layer is from 50 km to 1000

km above the earth surface. Ionosphere contains free electrons which affects the speed of electro-

magnetic waves. The amount of this error is less than 150 m (Jekeli, 2001). The best way to reduce

this error is using dual frequency GPS receiver for single point positioning. Some models like

Klobuchar model can be used to reduce this error for single frequency GPS receiver. Klobuchar

Page 19: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

6

model reduces approximately 50% of ionospheric error. In DGPS positioning, if the baseline is

shorter than 15 km this error is reduced considerably (Jekeli, 2001).

2.2.5 Tropospheric error

Troposphere is an atmospheric layer from 50 km to 70 km above the earth surface. GPS signal

propagation in troposphere is frequency independent. If satellite height angle is low this error might

reach 25 m. There are several models like Hopfield, Saastamoinen or Black and Eisner to reduce this

error (Hofmann-Wellenhof et al., 1997). In DGPS positioning, if the baseline is shorter than 15 km

this error is reduced considerably (Jekeli, 2001).

2.2.6 Multipath error

Multipath is the corruption of the direct GPS signal by one or more signals reflected from the local

surroundings such as buildings, tree foliage, water bodies and even the ground surface. Multipath

affects both code and phase measurements. Phase observable is less affected. The above discussed

errors can be minimized or removed by DGPS corrections. However, multipath cannot be

compensated by using DGPS. There are special antenna designs such as choke rings, ground planes

and other multipath-limiting technologies to reduce multipath effect (Hofmann-Wellenhof et al.,

1997).

2.3 DGPS

Several error sources play a role in GPS applications. To eliminate or mitigate some of these sources

of error, differential processing techniques are often implemented.

2.3.1 Phase Single difference

In this method, two receivers and one satellite are considered. Master station is shown by A and rover

station by B and satellite by j. Phase observation equation for both station are as follows (Hofmann-

Wellenhof et al., 1997).

(2-4)

The difference of the above equation is phase single difference (Hofmann-Wellenhof et al., 1997).

(2-5)

We should replace and in order to prevent singularity.

A

jj

A

j

A

jjj

AdTfN

1dtf

B

jj

B

j

B

jjj

BdTfN

1dtf

)dTdT(fNN)(1

AB

jj

A

j

B

j

A

j

B

j

A

j

B

j

A

j

B

j

ABNNN ABAB

dTdTdT

Page 20: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

7

Satellite clock error is removed in phase single difference.

2.3.2 Phase double difference

In this method, two receivers and two satellites are considered. Master station is denoted by A and

rover station by B and satellites by j and k.

Phase single difference equation for both satellites are as follows (Hofmann-Wellenhof et al., 1997).

(2-6)

The difference of the above equation is phase double difference (Hofmann-Wellenhof et al., 1997).

(2-7)

is replaced by

Satellite clock error and receiver clock error are removed in phase double difference.

2.3.3 Phase triple difference

Phase triple difference equation is obtained by the difference of phase double difference at time

(2-8)

The difference of the above equations is phase triple difference (Hofmann-Wellenhof et al., 1997).

(2-9)

As we can see phase ambiguity is removed in triple difference equation.

AB

jj

AB

j

AB

j

ABdTfN

1

AB

kk

AB

k

AB

k

AB dTfN

1

jk

AB

jk

AB

jk

ABN

1

j

AB

k

AB

jk

AB ***

* ,, N

12 , tt

jk

AB1

jk

AB1

jk

ABN)t(

1)t(

jk

AB2

jk

AB2

jk

ABN)t(

1)t(

))t()t((1

)t()t(1

jk

AB2

jk

AB1

jk

AB2

jk

AB

Page 21: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

8

CHAPTER 3

Overview of Inertial Navigation System

This chapter gives a brief introduction to inertial navigation in general, including a description of the

coordinate frames which are usually used in inertial data processing, transformation between these

coordinate systems and navigation equations. System error dynamics is also presented followed by

principle of INS alignment.

3.1 Coordinate Frames

The definitions of coordinate frames which are used in inertial navigation system are listed below.

3.1.1 Inertial Navigation Frame (i-frame)

According to the first Newtonian law definition, an inertial frame (i-frame) is considered as non

rotating and non-accelerating relative to distant stars. Or in other words if a proof mass is stationary in

the inertial frame no acceleration is applied to it. However, the inertial frame is an abstraction and in

practice this is impossible to achieve. The best approximation of such frame is the right ascension

system. Thus, the definition of an inertial frame may be re-stated as the following (Schwarz, 1996;

Salychev, 1998):

Origin: Earth‟s centre of mass

Z-Axis: Parallel to the Earth‟s instantaneous spin axis

X-Axis: Pointing towards the mean vernal equinox in the equatorial plane

Y-Axis: Orthogonal to the X and Z axes to complete a right-handed frame.

The vernal equinox is the ascending node between the celestial equator and the ecliptic. Figure 3.1

shows inertial frame.

Figure 3.1: inertial frame

Page 22: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

9

3.1.2 Earth Centered Earth Fixed Frame (ECEF or e-frame)

Earth-fixed frame (e-frame) is defined as follows:

Origin: Earth‟s centre of mass

Z-Axis: Parallel to the Earth‟s mean spin axis

X-Axis: Pointing towards the mean meridian of Greenwich

Y-Axis: Orthogonal to the X and Z axes to complete a right-handed frame

Figure 3-2 shows e-frame.

Figure 3.2: e-frame

3.1.3 The navigation frame (n-frame)

Navigation frame is defined as follows:

Origin: INS center

Z-Axis: Parallel to the ellipsoidal normal and downward

X-Axis: Pointing towards the geodetic north

Y-Axis: Orthogonal to the X and Z axes to complete a right-handed frame

Figure 3.3 shows n-frame.

Figure 3.3: n-frame

3.1.4 The Body frame (b-frame)

The body frame represents the orientation of the IMU axes (Jekeli, 2001).

Body frame is defined as follows:

X-Axis: Pointing towards the front of the vehicle

Page 23: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

10

Y-Axis: Pointing towards the right of the vehicle

Z-Axis: Orthogonal to the X and Y axes to complete a right-handed frame

Figure 3.4 shows b-frame.

Figure 3.4: b-frame

3.2 Transformation between coordinate systems

The transformation between e-frame and n-frame can be expressed by two consecutive rotations

around the and axes of the e-frame by magnitudes of geodetic latitude, , and longitude,

(Jekeli, 2001).

(3-1)

Transformation from Body frame to navigation frame can be expressed as follows (Jekeli, 2001):

( ) ( ) ( )n

b x y zC R R R (3-2)

Where is roll, is pitch and is yaw.

Direction cosine matrix from inertial frame to ECEF frame can be obtained as follows (Jekeli, 2001):

(3-3)

Where e is Earth angular velocity.

3.3 Quaternion

Instead of consecutive direction cosine matrices to transform one vector from one coordinate system

to another coordinate system, quaternion can be used. Quaternion is a generalization of complex

sin cos sin sin cos

( / 2) ( ) sin cos 0

cos cos cos sin sin

n

e y zC R R

cos( ) sin( ) 0

sin( ) cos( ) 0

0 0 1

e e

e

i e e

t t

C t t

Page 24: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

11

number and represents a vector in four dimensions. A quaternion can be shown as follows (Jekeli,

2001):

kqjqiqqq 3210 (3-4)

Where 3,210 ,, qqqq real numbers and I, j and k are imaginary units and the product of

imaginary unit is defined as follows (Jekeli, 2001):

(3-5)

A quaternion can be shown as follows as well (Jekeli, 2001):

( /2)( ) cos( / 2) sin( / 2)( )ib jc kdq e ib jc kd

(3-6)

Where 1dcb 222 . Equation (3-7) rotates an arbitrary vector X around (b,c,d) by the amount of

.

*X q X q (3-7)

Where * is conjugate.

So, instead of consecutive direction cosine matrices to transform one vector from one coordinate

system to another coordinate system, quaternion based transformation can be used. In quaternion

based transformation as mentioned above, the vector is rotated once around the fixed direction.

A quaternion can be converted into direction cosine matrix as follows (Jekeli, 2001):

2 2 2 2

0 1 2 3 1 2 3 0 1 3 0 2

2 2 2 2

1 2 0 3 0 1 2 3 2 3 0 1

2 2 2 2

1 3 0 2 2 3 0 1 0 1 2 3

( ) 2( ) 2( )

2( ) ( ) 2( )

2( ) 2( ) ( )

q q q q q q q q q q q q

R q q q q q q q q q q q q

q q q q q q q q q q q q

(3-8)

3.4 Concept of Inertial Navigation

Inertial navigation is real-time process of computing position of a vehicle by doubly integrating the

inertial acceleration of a point (which is measured by the sensors that are working based on

Newtonian laws), whose position is to be determined (Jekeli, 2001).

An inertial measurement system (INS) comprises three accelerometers, three gyroscopes on platform

on which they are mounted, a navigation computer and stabilization mechanism in gimbaled INS

only. Figure 3-5 shows INS component.

)jikki(),ikjjk(),kjiij(

1kji 222

Page 25: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

12

Figure 3.5: INS components

There are two types of inertial systems, gimbaled and strapdown. In gimbaled INS servo motors make

sensitive axes of accelerometers parallel to the desired frame (i-frame or e-frame or n-frame). Figure

3.6 shows Gimbaled INS.

Strapdown INS is rigidly attached to the vehicle body so sensitive axes of accelerometers are aligned

with the desired frame computationally. Strapdwon INS is cheaper than gimbaled INS but on the

other hand the errors are bigger. More details about gyroscopes and accelerometer are described in

Appendix A.

3.5 Navigation Equations

Navigation equation is the differential equation which relates sensed acceleration to the second order

time derivative of position. (Jekeli, 2001)

3.5.1 Navigation equation in i-frame

Navigation equation in i-frame is in fact, second Newton‟s law (Jekeli, 2001)

(3-9)

Where:

iX is second order time derivative of position in i-frame

ia is specific force in inertial frame

INS

A SET OF

IMUsA Platform

Navigation

Computer

Stabilized

Mechanization

(If Provided)

Accelerometer Gyroscope

INS

A SET OF

IMUsA Platform

Navigation

Computer

Stabilized

Mechanization

(If Provided)

Accelerometer Gyroscope

( )i i i iX a g X

Figure 3.6: Gimbaled INS

Page 26: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

13

ig is gravitational acceleration in inertial frame

3.5.2 Navigation equation in e-frame

e-frame is not inertial therefore navigation equation in e-frame is more complicated than navigation

equation in i-frame. According to Coriolis law, navigation equation in e-frame is as follows (Jeleki,

2001):

(3-10)

Where:

eX is the position vector in e-frame

ea is specific force in e-frame

eg is gravitational acceleration in e-frame

e

ie is skew symmetric matrix of earth angular velocity

(3-11)

3.5.3 Navigation equation in n-frame

Making navigation equation in n-frame is not correct per se. because according to the definition of n-

frame, vehicle has no horizontal movement in this frame, so in order to obtain navigation equation in

n-frame, first Earth-referenced velocity is defined as follows (Jekeli, 2001):

(3-12)

From the equation mentioned above eX is obtained and substituted in equation (3-10) to make

navigation equation in n-frame (Jekeli, 2001):

(3-13)

Where E,N,D are abbreviation of east, north and down respectively.

It is better to use navigation equation in n-frame although it is more complicated than navigation

equation in e-frame, because the vertical channel, which is very unstable, is dissociated from

horizontal channel in this frame. The algorithms to obtain transformation from b-frame to i-frame, e-

frame and n-frame, and the algorithms to obtain the velocity and position from navigation equations

are described in Appendix B.

2e e e e e e e e

ie ie ie

dX X X a g

dt

0 0

0 0

0 0 0

e

e

ie e

n n e

ev C X

NEDeDD

DNDeNeEE

EDEeNN

D

E

N

vvvga

vvvvga

vvvga

v

v

v

dt

d

coscos2

cossinsin2sin2

sinsin2

Page 27: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

14

3.6 Error of dynamics equations

How the sensors affect the position and velocity is described by the error dynamics equations. By

applying a differential operator to the navigation equations, error dynamic equations will be obtained

(Jekeli, 2001).

Error dynamic equation in i-frame is described as follows (Jekeli, 2001) :

0 0 0 0 0

0 0

0 0 00 0

i i i b

b ib

i i i i i b

b

i i i

Cd

X a X C I adt

X X gI

(3-

14)

Where:

Matrix I is a three by three identity matrix.

is orientation error and i

i

i

g

X

3 2

3 1

2 1

0

0

0

i i

i i i

i i

a a

a a a

a a

(3-15)

Where indicates cross product.

Error dynamics equation in e-frame is expressed as follows (Jekeli, 2001):

(3-16)

Where:

And finally error dynamics equation in n-frame is as follows (Jekeli, 2001):

n n n ndF G U

dt (3-17)

eht above parameters will be explained in appendix C.

3.7 Coarse alignment

A stationary inertial navigation system can align itself by exploiting the direction physically defined

by the Earth, namely, the direction of gravity and the direction of the Earth‟s spin axis (Jekeli, 2001).

0 0 0 0

2 ( ) 0

0 0 00 0

ee e e bie b ib

e e e e e e e e b

ie ie ie b

e e e

Cd

X a X C I adt

X X gI

3 2

3 1

2 1

0

0

0

e e

e e e

e e

a a

a a a

a a

Page 28: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

15

If vehicle is in the stationary mode for few seconds the transformation from b-frame to n-frame can be

obtained using the following formula (Jekeli, 2001):

1T T

n b

T Tn n b

b ib ib

T Tn b

a a

C

V V

(3-18)

Where:

1

10 0 tan / 1/ ( cos ) 0

cos 0 sin 0 0 1/ ( cos )

0 cos 0 1/ 0 0

Tn

eT

n

ib e e e

Tn e

a

V

(3-19)

is normal gravity.

The inertial measurement unit that is used in this thesis is not sensitive enough to sense Earth‟s

rotation; therefore the obtained yaw angle is a random number so the yaw angle is measured by a

compass.

Page 29: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

16

CHAPTER 4

Overview of Kalman filtering and GPS-IMU integration methods

In this chapter Kalman filtering and different methods of GPS-IMU integration are described

concisely. Kalman filter estimates the state of a linear dynamic system that is assumed to be

contaminated by a white noise. White noise is a kind of random process, so we start this chapter by

the random process definition.

4.1 Random process

Random process is a random variable, which is function of time. Therefore, a random process at a

specific time is random variable. In other words, random process is a set of random variables (Brown,

1992, pp. 75).

4.1.1 Stationary Random Process

A random process whose characteristics are time invariant is called stationary random process

(Brown, 1992, pp. 78-79). If the mathematical expectation and variance of a random process do not

change with time, that random process is called wide sense stationary random process. Furthermore, a

random process, whose probability density function is constant, is called strict sense stationary

random process (Brown, 1992, pp. 78-79).

4.1.2 Ergodic random process

In an ergodic random process, some statistical characteristics can be obtained from time function of

random process (Brown, 1992, pp. 78-79).

4.1.3 Some important random processes

Some important random processes will be explained briefly in this chapter.

4.1.3.1 White noise

White noise is a zero mean, uncorrelated random process whose autocorrelation function is as follow

(Brown, 1992, pp. 92):

( , ) ( ) ( ) ( ) ( )T

wR t t E W t W t g t (4-1)

Where is Dirac delta function.

4.1.3.2 Random constant

Time derivative of this random process equals zero (Brown, 1992, pp. 94).

(4-2)

0 0( ) , ( ) 0X t X X t

Page 30: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

17

4.1.3.3 Random walk Process

Random walk process is the integral of white noise (Brown, 1992, pp. 92).

0

( ) ( )

t

t

X t W t dt (4-3)

4.1.3.4 Gauss-Markov Process

Gauss-Markov process holds following condition (Brown, 1992, pp. 94).

( ) ( ) ( )X t X t w t (4-4)

4.2 Kalman Filter

Kalman filter is Best Linear Unbiased Estimator (BLUE) . In fact Kalman filter, estimates the state of

a linear dynamic system that is contaminated by a white noise with the help of some measurements

which have linear relationship with the system state and these measurements are contaminated with

another white noise as well (Grewal , 2001, pp. 116-117).

Kalman filter is appropriate for real time applications, because it needs certain amount of memory,

which will not increase with time. This algorithm is recursive and computer compatible.

4.2.1 Space State

According to the theory of linear systems, most of the linear dynamic systems can be modeled by a

differential equation. A differential equation of order n can be written as n differential equations of

order 1. So system model in Kalman filter is as follows (Grewal, 2001, pp. 121):

( ) ( ) ( ) ( ) ( )X t F t X t G t W t (4-5)

Where : X(t) is state vector

F(t) is Dynamic coefficient Matrix

G(t) is Input-Output matrix

W(t) is system noise which is white noise

We suppose that measurements have linear relationship with state vector

Z(t) H(t)X(t) V(t) (4-6)

Where : Z(t) is measurement vector

H(t) is design matrix and

( )V t is measurement noise which is considered as white noise

According to the definition of white noise:

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

T

T

E W t W Q t t

E V t V R t t

(4-7)

Where R and Q are spectral density functions

Page 31: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

18

The measurements are discrete so the system and measurement model have to be written in discrete

form (Grewal, 2001, pp. 154):

1K K K K KX X G W (4-8)

Where

is state transition matrix

exp( )K F t I F t (4-9)

1 1

1

1 1

1 1

(( )( ) ) ( , ) ( ) ( ) ( , ) ( ) ( )

( , ) ( ) ( ) ( , )

K K

K K

k

k

Tt t

T

K K K K K K K

t t

t

T T

k k

t

Q E G W G W E t G W d t G W d

t G QG t d

(4-

10)

ro simply we can write:

T T

K K KQ GQG t (4-11)

If norm of KQ is less than the norm of true values of

KQ , Kalman filter will trust more on the system.

Therefore, the estimates will be contaminated by some noises. If norm of KQ is unrealistically less

than the norm of true values of KQ the filter diverges (Grewal, 2001, pp. 153).

Discrete measurement model is as follows:

K K K KZ H X V (4-

12)

Based on the definition of white noise (Grewal, 2001, pp. 155):

( ) ( )T

K J KE V V R K J

(4-13)

Where is Kronicle delta function

4.2.2 Filter algorithm

In order to have the optimal estimate, the following condition has to be satisfied (Grewal, 2001):

ˆ ˆ(( ) ( )) minT

K K K KE X X X X

(4-14)

Where ˆKX is system state1 estimate.

Kalman filter implementation includes two steps (Grewal, 2001, pp. 121):

1-Prediction step

(4-15)

1 System state shows the state of a dynamic system like position, velocity, and acceleration.

1 1ˆ ˆ( ) ( )k k kx x

Page 32: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

19

(4-16)

Where ˆ ( )kx is priori estimate at time k

( )KP is priori covariance matrix of ˆ ( )kx at time k

1ˆ ( )kx is posteriori estimate at time k-1

1( )KP is posteriori covariance matrix of 1

ˆ ( )kx at time k-1

2-updating step

(4-17)

(4-18)

(4-19)

Where kK is Kalman gain which shows the weight of correction.

Kalman filter algorithm is shown in Figure 4.1 (Grewal, 2001, pp. 121):

Figure 4.1: Kalman filter algorithm

4.2.3 Kalman filter in the prediction mode

If GPS data is not available, the Kalman filter will go to the prediction mode. When no data is

available measurement covariance matrix approaches infinity. So, Kalman gain approaches to zero.

Kalam filter in the prediction mode is as follows (Grewal, 2001, pp. 121):

(4-20)

(4-21)

1 1 1 1 1 1( ) ( ) T T

k k k k k k kP P G Q G

1( ) ( ( ) )T T

k k k k k k kK p H H p H R

ˆ ˆ ˆ( ) ( ) ( ( ))k k k k k kx x K Z H x

( ) ( ) ( )k k k kP I K H P

1 1ˆ ˆ( ) ( )k k kx x

1 1 1 1 1 1( ) ( ) T T

k k k k k k kP P G Q G

Page 33: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

20

4.2.4 Method for Kalman filter linearization

In most of the applications, system model and measurement model are not linear. There are two

methods to make them linear (Grewal, 2001, pp. 171-178). Linearized Kalman filter and Extended

Kalman filter. In Linearized Kalman filter, the Taylor series expands around a nominal trajectory but

in Extended Kalman filter taylor series expands around the values estimated by the filter. The details

about these two methods are described in Appendix D.

4.3 GPS-IMU integration methods

There are three different methods for GPS-IMU integration (Jekeli, 2001, pp. 311-317):

1-Ucoupled integration

2-Loosely coupled integration

3-Tightly coupled integration

Loosely coupled integration method is used in this thesis.

4.3.1 Uncoupled integration

In this method, GPS and IMU gather and process data independently. IMU‟s outputs including angle

increment and velocity increment are processed and n

bINSINSC,,

are obtained. GPS observables

are processed as well and GPSGPS , are obtained. In fact, there is no integration in this method and a

simple decision method is used (Jekeli, 2001, pp. 311):

if GPS data is available

if GPS data is not available

as long as GPS signal is available, GPSGPS , are used, and when GPS data is not available

INSINS ,

are used with a correction. 0t is the last time that GPS data was available.

Uncoupled integration is not a good method of GPS-IMU integration, because no integration is

performed.

4.3.2 Loosely coupled integration

In this method, IMU‟s output including angle increment and velocity increment are processed using

SINS algorithm. Afterwards, GPS observables are processed using least square method or Kalman

))()(()(

))()(()(

)(

)(

)(ˆ

)(ˆ

00

00

ttt

ttt

t

t

t

t

INSGPSkINS

INSGPSkINS

kGPS

kGPS

k

k

Page 34: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

21

filtering in order to obtain GPSGPS , . The output of two systems enter a Kalman filter as shown in

Figure 4.2 (Jekeli, 2001, pp. 312).

Figure 4.2: Loosely coupled scheme

INS error dynamics makes system model and GPS latitude and longitude make measurement model in

Kalam filter. INS error dynamics for speed less than 200 m/s is as follows (Jekeli, 2001, pp. 312):

(4-22)

Where :

(4-23)

(4-24)

(4-25)

Gyroscope drift and accelerometer bias are random constants (Jekeli, 2001, pp. 313):

(4-26)

(4-27)

0

0

0010000

0001000

000tan2)cos/(0)cos/(

002sin0//0

0cossin00cos0

0001cos0sin

0sincos00sin0

13

23

AE

AN

GD

GE

GN

D

E

N

e

nn

e

nn

ee

ee

ee

D

E

N

a

a

rara

raradt

d

b

ib

n

bGC

bn

b

1

AaCDa

100

0cos)hN(0

00)hM(

D

b

ib Gd W

( )b b

A Aa b diag a K W

Page 35: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

22

Where: d is gyro drift which is a random constant

GW is gyro white noise

b is accelerometer bias which is a random constant

AK is accelerometer scale factor which is random constant

AW is accelerometer white noise.

State vector is defined as follows:

(4-28)

The first three components are orientation errors, followed by time derivative of latitude and longitude

errors and latitude and longitude errors.

(4-28)

Kalman filter system model is defined as follows (Jekeli, 2001, pp. 313):

(4-29)

1F is described by (4-22) and

(4-30)

(4-31)

Measurement model is defined as follows (Jekeli, 2001, pp. 313):

(4-32)

Where: (4-33)

(4-34)

(4-35)

In this thesis loosely coupled method is used.

4.3.3 Tightly coupled integration

On the contrary to loosely coupled integration, the GPS and IMU output is processed in a single

Kalman filter in tightly coupled integration as shown in Figure 4.3 (Jekeli, 2001).

1

T

N E Dx

2

TT T T

Ax d b K

1 21 1

9 7 9 9 9 62 20 0 0

G

A

F F Gx Wd

x Wdt

3 3 3 3

1 1

2 2 3

2 3 2 3 2 3

0 0

0 ( )

0 0 0

n

b

n n b

b b

C

F JD C JD C diag a

1 0 0

0 1 0J

y Hx v

1 2

TT T Tx x x

2 5 2 2 2 90 0H I

INS GPS

INS GPS

y

Page 36: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

23

Figure 4.3: Tightly coupled scheme

IMU error dynamics equation makes Kalman filter system model . It can be noticed that the GPS raw

measurements are not processed in a separate filter as in the loosely coupled case. The difference

between pseudo range and Doppler measurements and INS-predicted measurements is used as

measurement model of the Kalman filter. We will not go through the details of tightly coupled

integration because we do not use it in our thesis. Loosely coupled and tightly coupled integration

have some advantages and disadvantages. The separate filters in the Loosely coupled have the

advantage to be simpler and have less computation than the corresponding centralized Tightly coupled

filter, so, loosely coupled method is faster. Moreover the loosely coupled approach is more robust,

because INS and GPS operate separately and so can continue to provide navigation solution also in

case of failure of one system (Godha, 2006).

On the other hand, the loosely coupled method has a great disadvantage: if less than four satellites are

available, the filter will go to prediction mode so the tightly coupled is preferred in practice for urban

canyons (Jekeli, 2001, pp. 320).

Step by Step algorithm for Loosely Coupled Integration

1-Read angular velocity and specific force from IMU

2-Calculate initial transformation from b-frame to n-frame using coarse alignment procedure (Section

3.7)

3-Introduce initial latitude and longitude by GPS

4- Calculate transformation from b-frame to n-frame, Earth-referenced velocity and geodetic

longitude and latitude using SINS algorithms mentioned in Appendix B

5- Introduce GPS position, IMU position and attitude to the Kalman filter and do the integration as

explained in section 4.3.2 (GPS and IMU positions have to be synchronized)

6-Use the estimated position, velocity and attitude as a feedback to SINS algorithm and correct the

raw IMU output with the estimated error as well.

Page 37: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

24

CHAPTER 5

Review of Existing Map Matching Algorithm

5.1 Introduction

As it is known from chapter 1, the goal of a map matching algorithm can be explained in two ways:

(1) to identify the correct link among the candidate links, and (2) to determine vehicle location on that

link (Quddus, 2006). The problem of link2 identification is addressed to the most of the existing map

matching algorithms. The reason for that is if the vehicle location is projected to an incorrect link then

the performance derived from the map matching algorithm can be misguided. However, to determine

the vehicle location on the selected link is also equally important as it requires for some advanced

transport telematics (ATT) services. However, there are limitations in the existing map matching

algorithms for both the identification of correct link and in the determination of the vehicle location.

A general review of existing map matching algorithms is described in this chapter, and for that

description, the existing algorithms are categorized into three groups: geometric, topological and

advanced map matching algorithms (Quddus, 2006, pp. 70).

5.2 Literature Review

In order to determine the vehicle location on a road, the map matching algorithms are often used. The

inputs for most of the formulated algorithms are the navigation and road network data, which are

taken from GPS or GPS/IMU and from a digital road map respectively. Most of the studies also report

that the digital road map used for map matching should be a high scale in order to generate the

position outputs of high accuracy (Zhao, 1997).

The basic theory behind the map matching processing was described by Zhao (1997), and the

suggested techniques that can be used for the map matching processes are (a) a semi-deterministic

approach, (b) a probabilistic approach, (c) a fuzzy-logic-based approach, and (d) a pattern recognition

process (Quddus, 2006, pp. 69).

The basic requirement for the semi-deterministic approach is that an initial vehicle location and a

direction of travel must be known in advance. Then, to determine whether the vehicle is travelling on

the known road network, various conditional tests will need to be performed in this approach.

2 A link is a topological connection between two nodes.

Page 38: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

25

The basic requirement for the probabilistic algorithm is to define an elliptical or rectangular region

around a position fix, which can be obtained from a navigation sensor. Honey et al. (1989) was first to

introduce this technique to match the position from dead reckoning (DR) sensor to a map (Quddus,

2006, pp. 69). However, Zhao (1997) discussed this technique in case of GPS and proposed that the

error region can be calculated from the error variances associated with the GPS position solution. This

error region is then used to identify the link on which the vehicle is moving. However, if the number

of candidate links that are identified by the error region is more than one, than the evaluation of the

candidate links are carried out by using heading, connectivity, and closeness parameters (Quddus,

2006, pp. 69).

To select the correct road link among the candidate links can be performed by using a qualitative

decision making process suggested by Zhao (1997). However, for performing the qualitative decision

making process, fuzzy-logic approach can be used. Zhao (1997) formulates eight rules for the position

solution, which is achieved from DR sensor. However, these eight rules are the combination of those

suggested by Huang et al. (1991) and Kao and Huang (1994).

Map matching is basically a pattern recognition process as stated by Zhao (1997), and for that, he

concludes that the utilization of various pattern recognition processes can be useful where one of the

main candidates for a pattern recognition process is a neural network. However, most of the map

matching algorithms that are described in the following section are taken from the theories that are

outlined in Zhao (1997) and are reviewed by Quddus, (2006).

5.2.1 Geometric Analysis

In geometric map matching algorithms the geometric information of the digital road network is used

by considering only the shape of the links (Greenfeld, 2002).

For geometric map matching algorithm, the most commonly used technique is a simple search around

the position fix. This simple search matches each position fix to its closest „node‟ on the digital map.

This approach is known as point-to-point matching (Bernstein and Kornhauser, 1996).

This approach is both easy to implement and very fast. However, it is highly dependent on the way in

which the network was digitised and hence in practice it has many problems. One of the problems is

that, if the vehicle moves on a link then the geometric map matching algorithm matches the position

fixes on the end node of the link (Quddus, 2006, pp. 71).

Page 39: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

26

Another geometric map matching algorithm is point-to-curve map matching algorithm (Noh and

Kim, 1998). In this algorithm, the closest distance from point-to-curve is used for the identification

of the correct link. However, this algorithm has a big problem where the map matched position can

jump from one to another link. In Figure 5.1, a1 and a2 are the end points of the link A, and b1 and b2

are the end points of the link B, and P1 and P2 are two consecutive GPS position fixes. Point-to-curve

algorithm selects link A for the position fix P1, but it selects link B for the position fix P2, though the

vehicle moves on the link A. So, to overcome this problem, Noh and Kim, (1998) proposed an

algorithm where curve-to-curve distance is used.

Figure 5.1: The map matching using the distance of point-to-curve

The map matching using the curve-to-curve distance matches the two consecutive GPS position fixes

to the line segment where the distance between the line segment and the reference line is shortest.

Here the reference line represents the line between two consecutive GPS position fixes. There are

different methods that can be used to calculate the distance between the reference line and the line

segment. One of the simplest methods is to sum up the distance between two end points. For example,

the position fixes P1 and P2 are matched to the line segment A because (l1a+l2a) < (l1b+l2b) as shown in

Figure 5-2 (Noh and Kim, 1998).

Figure 5.2: The map matching using the distance of curve-to-curve

Page 40: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

27

Several algorithms were described by Bernstein and Kornhauser (1996) for matching the estimated

position to a network representation of a street system. One important conclusion found from their

study is that, point-to-curve matching is unlikely working well when there are errors in the position

and/or errors in the network representation. Bernstein and Kornhauser (1996) also concluded that the

algorithm will perform better if more attention is put to the topological information.

Srinivasan et al. (2003) propose an enhancement of the point-to-curve map matching algorithm. In

this algorithm, not only the closest distance but also the bearing check and the turning are considered.

A bearing check is the degree of consistency between current vehicle heading from GPS and the

bearing of the road segment. The turning check is performed by using the heading difference between

two consecutive position fixes from GPS. This heading difference should agree reasonably well with

the turn calculated from the topology of the road network. They conclude that this enhancement

improves the correct link identification. But they use the heading of the vehicle from a stand-alone

GPS by ignoring the speed of the vehicle.

A novel method was proposed by Taylor et al. (2001) for map matching. It uses GPS height aiding

from the digital road map and virtual differential GPS (VDGPS) corrections, referred to as the road

reduction filter (RRF) algorithm. They report that one less satellite is required for the computation of

the vehicle position using GPS, because of the height addition (i.e., height aiding removes one of the

unknown parameters). In order to determine the vehicle position on the road network it uses the

perpendicular projection.

5.2.2 Topological Analysis

The relationship between geometric features like points, lines and polygons is called topology in GIS.

The relationship can be defined as connectivity, adjacency, or containment. Therefore, a map

matching algorithm which uses these features of the links is known as a topological map matching

algorithm (Greenfeld, 2002, Chen et al., 2003, and Meng et al., 2003).

Several approaches were reviewed by Greenfeld (2002) for solving the map matching problem, and he

proposes a weighted topological algorithm. This algorithm only concentrates on the topological

information and, it only uses the coordinate information from the user and it does not consider any

heading or speed information determined from GPS (Quddus, 2006, pp. 75). There are two sub-

algorithms for map-matching proposed by Greenfeld (2002): (1) Initial mapping, and (2) Map. The

purpose of the „initial mapping‟ sub-algorithm is to find an initial match. This procedure is used to

select the closest node from the position fix. After the selection of the closest node, all the links that

Page 41: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

28

are connected to that node are selected, and when the next position fix is available, the proposed

method maps the position fix onto one of the selected links. So, for selecting the correct link, a

subsequent topological analysis is applied by using a weighting schema under the „Map‟ sub-

algorithm, which is based on the initial match sub-algorithm. This weighting schema calculates a total

weight for each of the links on the basis of perpendicular distance of the position fix from the link

(proximity), the degree of parallelism between GPS line and the link, and the intersecting angle

(intersection). The total weighting score for a particular link is given by

W = Wd + Waz + Wi (5-1)

Where W- the total score

Wd- the weight for proximity

Waz- the weight for similarity

Wi- the weight for an intersection, if exists

The intersection angle is the angle between the GPS line and road link. Greenfled (2002) uses one of

these above algorithms in order to select the correct link and then he uses perpendicular projection for

the determination of the vehicle position.

Another topological map matching algorithm was proposed by Li and Fu (2003). This method also

calculates the vehicle heading from vehicle trajectory, which is formed by two consecutive position

fixes. The calculated heading is used for checking the degree of consistency between the link

direction and vehicle direction. This algorithm has three main stages: (1) searching mode, (2) normal

running, and (3) turning mode. In searching mode, the algorithm identifies the correct link among the

candidate links by using point-to-curve approach. After the identification of the correct link by

searching mode, the algorithm is moved to normal running mode where it matches the position fixes

to the previously selected link until the vehicle makes a turn. In the turning mode, the algorithm goes

back to the searching mode and selects a new link.

5.2.3 Advanced Map Matching Algorithm

The algorithms that use more refined concepts are referred to as advanced map matching algorithms

(Quddus, 2006). A few of the algorithms that are considered as advanced map matching algorithm are

briefly explained below.

By using GPS, DR and a map matching algorithm, Kim et al. (2000) established an integrated

navigation system. Their study suggested that the needed 2-D horizontal accuracy for some ATT

services is 5m to 10m. They used digital road network to obtain such kind of accuracy. In their

algorithm, at first they use they use the point-to-curve matching approach for the identification of the

Page 42: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

29

correct link for the position fix. Then the perpendicular projection is used to determine the vehicle

position on that link. The projection significantly reduces the cross-track error. However, the along-

track error is not reduced. So, for the minimization of the along-track error, they designed a Kalman

Filter to re-estimate the vehicle position.

A novel road-matching algorithm to support a real time car navigation system was developed by

Najjar and Bonnifait (2003). For continuous positioning information, their study first describes the

integration of DGPS with ABS (Anti-Lock Braking) sensors. In this method, there is no need for any

extra sensors such as gyroscope. They use several criteria on their map matching method by using

Belief Theory (Najjar and Bonnifait, 2003). The criteria that are used are the proximity criterion

(based on the distance between the position fix and the link) and the heading criterion (based on the

difference between the heading of the vehicle and the direction of the candidate segment). A degree of

Belief (yes, perhaps, no) is assigned to each link on the basis of each of this criterion. Then the

combination of these two criterions is performed by using Demspter-Shafer‟s rule. If a link is

associated with a large Belief to the yes hypothesis from both criteria, then it is selected as the correct

link.

Syed and Cannon (2004) also proposed a map matching algorithm by using fuzzy logic model. Their

algorithm has two stages: (1) First fix mode and (2) Turning mode. The input for the first fix mode is

direction of the vehicle relative to the direction of the link and the heading change of the vehicle form

the gyroscope. However, in the first fix mode, the algorithm, which is a fuzzy inference system is

used to select the links that are within the vicinity of 50m from the GPS/DR position fix. Then a link

is identified on the basis of the given input. However, after selecting the link, the orthogonal

projection is used for the determination of the vehicle position on that link. So, after selecting the first

link and the determination of the vehicle position on it, the algorithm then goes into the second sub-

algorithm. However, in this sub algorithm another FIS is used to check whether the subsequent

position fix is matched to the previously selected link that was identified in the first fix mode by using

the new inputs. The new inputs are proximity, orientation and distance travelled by the vehicle along

the link. Then if a turn is detected then algorithm goes back to the first fix mode.

An improved topological map matching algorithm is proposed by Quddus (2006). This algorithm is

simpler and faster and the performance of map matching is also improved over the existing map

matching algorithm. GPS or GPS/DR and digital road network provide the inputs in his algorithm.

GPS or GPS/DR provides position, speed, heading and digital road network provides link

connectivity and shape points. At first, this algorithm reads the road network data and calculates the

length and heading of each link and save it. Then from the current vehicle position, the algorithm

searches for the closest node around it and selects all candidate links that originates from this node.

Page 43: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

30

After selecting the candidate links, the algorithm applies a weighting schema for selecting the correct

link among the candidate links. After the identification of the correct link, the algorithm uses

perpendicular projection to determine the vehicle position on that link. Then for the next position fix,

the algorithm calculates the heading difference between that position fix (vehicle position) heading

and the previously selected link azimuth. It also calculates the angle <ABC where A is the previous

map matched position, B is the junction point on the direction of vehicle movement and C is the

current vehicle position. So, for the next position fix, it utilizes these heading differences and the

angle <ABC. If the angle <ABC is greater than 90 degree or the heading difference is greater than 45

degree, then the algorithm assumes that the vehicle has already crossed the junction and the algorithm

again goes back to the searching mode to select the closest node and continue doing the work that is

explained above. Otherwise, the algorithm selects the previously selected link as a correct link for the

next position fix.

However, there are limitations over the existing map matching algorithm both for selecting the correct

link and to determine the vehicle position on that link in the dense urban area. That‟s why, a fuzzy-

logic based map matching algorithm is explained in chapter 6, which is used this thesis work. This

algorithm improves the performance in the case of link identification. However, for the simplicity,

perpendicular projection is used to determine the vehicle position on the link.

Page 44: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

31

CHAPTER 6

Fuzzy Logic Based Map Matching Algorithm and Sending data through internet

6.1 Introduction

In the dense urban area, the vehicle trajectory directly derived from positioning system is often quite

different from the actual route due to the inherent problems associated with the GPS in urban areas as

well as imperfection of the road network. The error ellipse derived from the uncertainty of the

position solution in urban area is comparatively large so it normally contains large number of links

and sometimes it may not find any links if the accuracy of the digital map is poor. That may create

difficulties in real time map matching application process to determine on which link the vehicle is

travelling. For this reason, in this thesis a 25m buffer area was used around the current vehicle

position. The buffer size is increased recursively as long as no link was found. However, most of the

time large number of links is contained within the 25m buffer but if it does not find any link then the

buffer size will increase recursively until a link is found. However, for most of the time, there are

large number of links contain within the 25m buffer around the current vehicle position. So it is time

consuming and difficult for the real time map matching application process to determine on which

link the vehicle is travelling. In such a case map matching algorithm may suggest that the vehicle is

more likely on a link and less likely on the others. This type of ambiguity needs to be resolved if an

accurate positioning is required. Therefore a method is needed which is suitable for dealing with

qualitative term such as likeliness for selecting the correct link among the candidate links (Quddus et

al, 2006).

Fuzzy logic is one technique that is an effective way for dealing with qualitative terms, linguistic

vagueness and human intervention (Zhao, 1997). Linguistic terms with vague concepts can be

expressed mathematically by making use of fuzzy sets, in the fuzzy logic (Quddus et al,2006). A set

of rules, which are based on expert knowledge and experience is used to draw inferences through an

approximate reasoning process (Quddus et al., 2006). Identification of the correct link on which the

vehicle is travelling, is a qualitative decision making process, which involves a degree of ambiguity in

the map matching process. The map matching algorithm and its parameters are taken mainly from

Quddus et al, 2006 research project by modifying two rules and by adding one new condition.

The input to the proposed map matching algorithm (Quddus et al., 2006) comes either from GPS or

GPS/IMU. The behaviour of the map matching is based on some knowledge based IF-THEN rules by

using the speed of the vehicle, the heading, the historical trajectory of the vehicle, the connectivity

Page 45: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

32

and orientation of the road links, and the contribution of horizontal errors that is caused by satellite

constellation. After the selection of the correct link, the physical location of the moving vehicle was

determined by perpendicularly projecting the vehicle position on that selected link.

In this chapter, at first the fuzzy logic theory is explained and then the detailed map matching

algorithm is described.

6.2 Improvement over Existing Fuzzy Logic Based Algorithms

A number of researchers (e.g., Zhao, 1997; Kim et al., 1998, Syed and Cannon, 2004) have developed

fuzzy logic based map matching algorithms over the last few years. The summary of the relevant

limitations are mentioned here (Quddus et al., 2006). These include: (a) ignoring most of the available

inputs to the fuzzy logic model, (b) overlooking the connectivity among road links and the historical

trajectory of the vehicle (c) ignoring the error sources associated with the spatial road network and the

navigation sensor. Quddus et al., 2006 proposed map matching algorithm built on the existing fuzzy

logic-based map matching algorithms that takes into account these limitations, specifically:

Quddus et al., 2006 proposed several new input variables for fuzzy logic based map matching

algorithm that are also considered for this thesis work: 1)the speed of the vehicle 2) the

connectivity among the road link 3) the quality of the position solution e.g., HDOP 4) The

position of a fix relative to the candidate link. These inputs are incorporated into the fuzzy

logic in order to improve the performance of the map matching.

Three sets of fuzzy rules are applied for the map matching process where the navigation

solution is coming either from GPS or GPS/IMU. The first set contains six fuzzy rules. It is

called initial map matching (IMP). The second set contains thirteen rules, which is for

subsequent map matching along a link (SMP link) and the third set contains additional four

rules to IMP, which is for subsequent map matching at the junction.

In this thesis, fuzzy logic based map matching algorithm is taken form Quddus (2006). We

modified two rules and add one new condition in the map matching process. We use the

perpendicular projection to project the vehicle position on the selected link.

6.3 Overview of Fuzzy Logic Theory

The concept of Fuzzy Logic (FL) was conceived by Lotfi Zadeh, a professor at the University of

California at Berkley. Fuzzy logic is not only a control methodology but also a way to process data.

Partial membership is used rather than crisp set membership (Kaehler, 1993). In the recent years, the

number and variety of applications of fuzzy logic have increased significantly. The applications range

from consumer products such as cameras, camcorders, washing machines, and microwave ovens to

Page 46: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

33

industrial process control, medical instrumentation, decision-support systems, and portfolio selection.

A comprehensive review of fuzzy logic theory can be found in Zadeh (1965, 1973, 1989), Mamdani

and Assilian (1975), and Sugeno (1985). A brief overview is presented below. In fuzzy Logic, a

system is not modeled mathematically, instead, a simple if rule (“IF X AND Y THEN Z”) is used

(Kaehler, 1993). In fact, Fuzzy logic mimics human behavior and it uses an imprecise but very

descriptive language. It is very robust and does not require precise, noise-free inputs. Fuzzy logic

output is smooth despite of wide-range of input variation. Fuzzy Logic can be used for nonlinear

systems which are difficult or impossible to model (Kaehler, 1993).

In 1973, Professor Lotfi Zadeh proposed the concept of linguistic or "Fuzzy" variables (Zadeh, 1965).

A fuzzy variable defines the language that will be used to discuss a fuzzy concept such as

temperature, pressure, age, or height. Fuzzy logic starts with the concept of a fuzzy set. The fuzzy set

is a set without a crisp, clearly defined boundary. It can contain elements with only a partial degree of

membership. Consider a simple fuzzy rule “if temperature is high and moisture is medium then fan‟s

speed is high”. The input linguistic variables of this fuzzy rule are the temperature and the moisture.

Fuzzy sets are high and medium and the output linguistic variable is the fan‟s speed. The output fuzzy

set is high. Fuzzification of the input variable using a membership function is used to evaluate the

truth of proposition (Kaehler, 1993). A membership function (MF) is a curve that defines how each

point in the input space is mapped to a membership value (or degree of membership) between 0 and 1.

One of the challenging tasks in fuzzy logic is the shape definition of membership functions.

Triangular, trapezoidal, Z-shaped, S-shaped, gaussian, generalised bell, and sigmoidal are some

examples of membership functions. A fuzzy inference system can be implemented by taking these

steps (Matlab help):

1. Define the linguistic variables and terms (initialization)

2. Construct the membership functions (initialization)

3. Construct the rule base (initialization)

4. Convert crisp input data to fuzzy values using the membership functions (fuzzification)

5. Evaluate the rules in the rule base (inference)

Three types of fuzzy operators are normally used:The AND, OR, and NOT operators of boolean logic

exist in fuzzy logic, usually defined as the minimum, maximum, and complement; when they are

defined this way, they are called the Zadeh operators. So for the fuzzy variables x and y (Kaehler,

1993):

NOT x = (1 - truth(x))

x AND y = minimum(truth(x), truth(y)) or product (truth(x), truth(y))

x OR y = maximum(truth(x), truth(y))

Page 47: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

34

6. Combine the results of each rule (inference)

7. Convert the output data to non-fuzzy values (defuzzification). This step is used in Mamdani‟s

Fuzzy Inference System.

There are two main types of Fuzzy Inference System (FIS): (1) Mamdani-type (Mamdani and

Assillian, 1975) and (2) Sugeno-type (Sugeno, 1985).

6.3.1 Mamdani’s Fuzzy Inference System

Original Goal of Mamdani‟s Fuzzy Inference System was Control a steam engine and boiler

combination by a set of linguistic control rules obtained from experienced human operators.

Mamdani‟s Fuzzy Inference rule is explained below (Mamdani and Assillian, 1975):

if x is A and y is B then z is C

Where: A,B,C are fuzzy sets

x,y are input linguistic variables and z is output linguistic variable.

We should take all the 7 steps illustrated in section 5.3 to make Mamdani‟s FIS. a schematic view is

shown Figure 6-1:

Figure 6.1: Mamdani‟s FIS scheme

As we can see from the above figure, after defining linguistic variables, membership functions and

fuzzy rules, the inference step starts. Here “AND operator” is used, therefore the minimum of degree

of membership function (W) is selected for each fuzzy rule. Afterwards, the area of output variable‟s

membership function which is below “W” is selected for each fuzzy rule, and then we will go for the

Aggregation of all outputs. All the truncated output areas are aggregated at this step. The last step is

defuzzification. The most popular defuzzification method is the centroid calculation, which returns

the center of area under the aggregate output fuzzy set.

Page 48: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

35

6.3.2 Sugeno’s Fuzzy Inference System

Sugeno‟s fuzzy inference rule is explained below (Sugeno, 1985):

if x is A and y is B then z=f(x,y)

Where: A,B are fuzzy sets

x,y are input linguistic variables and z is output variable (a crisp variable).

f(x, y) is often a polynomial function

We should take all the 7 steps illustrated in section 5.3 to Sugeno‟s FIS. A schematic view is shown in

Figure 6-2:

Figure 6.2: Sugeno‟s FIS scheme

As we can see from the above figure, after defining the linguistic variables, membership functions and

fuzzy rules, the inference step starts. Here “AND operator” is used, therefore the minimum of degree

of membership function (W) is selected for each Fuzzy rule. Then z which is output variable will be

calculated for each rule. There is no defuzzification step at Sugano‟s Fuzzy Inference System

(because output variable of each rule is defined as a crisp function). So as the final output, a weighted

average is calculated as shown below (Sugeno, 1985):

(6-1)

6.4 Map Matching Process

The fuzzy logic based map matching algorithm has two steps: (1) the identification of the correct link

and (2) the determination of the vehicle location on the selected link (Quddus et al., 2006). These two

steps are described below:

6.4.1 Identification of the Correct Link

At first, for the identification of the correct link, a recursive buffer is used that is proposed in this

thesis work for selecting the candidate links starting from 25m. The identification of the correct link

among the candidate links is the most challenging part of this algorithm. Therefore an approach

Page 49: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

36

consisting of two distinct processes was used. The processes are: (1) the initial map matching process

(IMP) and (2) the subsequent map matching process (SMP) (Quddus et al., 2006). Both of these

processes are explained below.

6.4.1.1 Initial Map Matching Process

To select an initial link for the initial position fix is known as the initial map-matching process (IMP).

If the initial map-matching is going wrong then it is more probable that the subsequent map-matching

will also be going wrong. Therefore, a sophisticated method is employed for IMP. The IMP method

used in this thesis is a function of the search space which is 25 m buffer from the current vehicle

position by considering the GPS position error and digital road network error and will increase

recursively, the perpendicular distance from the position fix to the link, the azimuth of the link and the

direction of the vehicle. Ten consecutive good position fixes on a link are used in order to select the

initial link for the IMP and that gives a level of confidence that the IMP is correct.

The IMP starts just after the initialization of the GPS receiver and it takes a minute or two depending

on the surrounding conditions. The basic characteristics of IMP are the use of buffer region in order to

select the candidate links. If the buffer region doesn‟t contain any link then the buffer size will

increase. However, if it contains only one link within the initial buffer size of 25m then the final

selection process is straightforward as it will select that link. However, in the case of more than one

link, a fuzzy inference system (FIS) can be used to identify the correct link among the candidate links

(Quddus et al., 2006).

The most important variables available during the IMP are the perpendicular distance (PD) from the

position fix to the link and the heading error (HE) which is the absolute value of the difference

between the direction of the link and direction of the vehicle. In the FIS, these two variables could be

used as an important input (Quddus et al., 2006). However the accuracy of the direction of the vehicle

data is largely dependent on the speed of the vehicle (Ochieng et al., 2004). Therefore, the speed of

the vehicle could be used as an initial input in the FIS (Quddus et al., 2006). The positioning error as

determined by the horizontal dilution of precision (HDOP) which is caused by the satellite

constellation can also be used as a quality indicator of the position fix (Quddus et al., 2006).

Therefore in the FIS, the state input variables are: 1) The heading error, HE (degrees) 2) The speed of

the vehicle, v (m/sec) 3) the perpendicular distance, PD (m) and 4) HDOP. The speed of the vehicle

can be taken from GPS or GPS-IMU navigation solution and fuzzy subset associated with the speed

variable are zero, high and low. The direction of vehicle can be taken from the GPS or GPS-IMU

navigation solution and the direction of the road link can be taken from the digital road network data

which is saved in the database and the fuzzy subset associated with the heading error are small and

large. The perpendicular distance is calculated as the minimum distance between the link and vehicle

Page 50: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

37

position fix and associated fuzzy subsets are low and high. The HDOP is obtained from GPS data and

associated fuzzy subsets are good and bad. The four system state input variables are fuzzified and

they are shown in figure 5-3. In the fuzzification process, the Z-shape and S-shape membership

function were used. The single output of this FIS is the likelihood (donated as L1) of matching the

position fix to a link. A zero-order Sugeno fuzzy model is used, which takes three constants for the

output, L1, low (Z1) = 10, average (Z2) = 50 and high (Z3) = 100. (Quddus et al., 2006).

(a)

(b)

(c)

Page 51: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

38

(d)

Figure 6.3: The fuzzification of (a) the speed of the vehicle, (b) the heading error, (c) the perpendicular distance,

and (d) HDOP

Six fuzzy rules are formulated for IMP (Quddus et al., 2006). The weight of each rule is shown

within the bracket at the end of each rule. A unit weight for each rule is considered.

If (HE is small ) and (v is high) then (L1 is average) (1)

If (HE is large ) and (v is high) then (L1 is low) (1)

If (PD is short) and (HDOP is good) then (L1 is average) (1)

If (PD is long) and (HDOP is good) then (L1 is low) (1)

If (PD is short) and (HE is small) then (L1 is high) (1)

If (PD is long) and (HE is large) then (L1 is low) (1)

In order to derive the “degree of applicability” (ωi), the min (minimum) method is used here. To

obtain a crispy output, the weighted average method is used. This crisp output is the likelihood

associated with a link. The FIS is applied to all links within the buffer region. The link which gives

the leanest likelihood is taken as the correct link among the candidate links.

The above FIS is used to identify the correct link, on which the vehicle is moving. As in IMP, there

are few number of variables considered. The link identified by this FIS for the first position fix may

not be the actual link. Therefore, the IMP is performed for the 10 consecutive position fixes to the link

and if FIS selects the same link for all 10 consecutive position fixes then this link is chosen to be the

initial correct link for the IMP step as it is illustrated in Figure 5-4.

Page 52: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

39

Figure 6.4: Example of initial Map Matching Process

Suppose that the first good position fix from GPS or GPS-IMU is shown by point 1 (figure 6-4). The

FIS choose link A as the correct link for the first position fix and then it continues selecting link A as

a correct link for the subsequent position fixes from 2 to 10. Therefore, it can be said with some

confidence that, the link A is the correct one.

6.4.1.2 The subsequent map-matching process

After the successful implementation of IMP, the subsequent map-matching process (SMP) will start.

The basic function of SMP is to match the position fix following the IMP. There are two types of

subsequent map-matching processes: 1) SMP along a link (SMP-1) and 2) SMP at a junction (SMP-2)

(Quddus et al., 2006). In SMP-1, the subsequent position fixes are matched to the link identified by

the IMP unless the vehicle is either about to cross or has already crossed a junction (Quddus et al.,

2006). SMP-2 selects a new link among the candidate links at a junction for the last non matched

position fix and then after identifying the new link by SMP-2, SMP-1 restarts to match the

subsequent position fixes to the new link (Quddus et al., 2006). Both of these processes are explained

below.

SMP along a link (SMP-1)

The Sugeno FIS is used in SMP-1, in order to check whether the subsequent position fixes may

matched to the previously selected link. The inputs of SMP-1 are the direction of the vehicle (θ), the

gyro-rate reading (Δθ), the distance along the link from the last matched position fix to the

downstream junction (d1) and the speed of the vehicle (v).

Page 53: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

40

Figure 6.5: SMP along a link

Figure 6-5 shows the state input variables of the vehicle travelling along a link. Point A shows the last

matched vehicle position on link 1 which was selected by IMP or SPM-2. Therefore, the task of SMP-

1 is to select the correct link for the subsequent position fixe, B. The term d1 represents the distance

from the last matched position (A) at link 1 to the downstream junction and the term d2 represents the

distance that was travelled by vehicle, at the last epoch which was calculated by the speed of the

vehicle at B. The difference between the two distances Δd = (d1-d2), can be used as an important

parameter in order to check whether the vehicle crosses a junction (Quddus et al., 2006). Suppose, if

Δd is negative, then it is most probable that the vehicle has already crossed a junction. The terms α

and β represent the angle, which determines the location of the position fix, B, relative to link 1.

Suppose, if both of these angles are less than 90 degree then it is more probable that the vehicle has

not crossed the junction. The angles θ and θ′ represents the direction of the vehicle at B and A

respectively. However, the absolute difference between these two angles i.e., abs (θ-θ′) gives a

heading increment (HI) of the vehicle at position, B, for the last epoch. If the HI is more lower then it

is more probable that the vehicle is still on link 1 (Quddus et al., 2006). However, if the HI is close to

zero, then it is very likely that there has been left or right turn (Quddus et al., 2006). The gyro rate

reading at B which is the rate of change of heading can also be used to check whether there has been a

right or left turn in progress (Quddus et al., 2006).

So, the state input variables of this FIS are: 1) the heading increment (HI) (degrees) 2) the speed of

the vehicle (v) (m/sec) 3)the gyro-rate reading (Δθ) (deg/sec) 4) the distance difference (Δd) (m) 5)

the value of α (degree) 6) the value of β and 7) the HDOP. The single output of FIS is denoted as L2

and is the possibility of matching the current position (in this case, B) to the previously selected link

(in this case link 1) denoted by L2. In figure: 6-6, the fuzzification of state input variables are drawn.

In the fuzzification process the Z-shape, S-shape and gauss MFs (for the 180 degree heading

increment) are used (Quddus et al., 2006). The zero-order Sugeno fuzzy model is used, which takes

Page 54: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

41

three constants for the output, L2, low (Z1) = 10, average (Z2) = 50 and high (Z3) = 100 (Quddus et

al., 2006).

(a)

(b)

(c)

Page 55: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

42

(d)

(e)

Figure 6.6: The MFs for (a) the α or β, (b) the gyro-rate reading, (c) the Δd, (d) the heading increment, and (e) a 180 degree

heading increment

The following rules are applied to this FIS which is taken from Quddus et al, 2006:

If (α is below 90) and (β is below 90) and (Δθ is small) then ( L2 is high) (1)

If (Δd is positive) and (α is above 90) and ( Δθ is small) then ( L2 is low) (1)

If (Δd is positive) and (β is above 90)and (Δθ is small) then ( L2 is low) (1)

If (α is below 90) and (β is below 90) and (HI is small) then (L2 is high) (1)

If (Δd is positive) and ( α is above 90) and (HI is small) then (L2 is low) (1)

If (Δd is positive) and (β is above 90) (HI is small) then (L2 is low) (1)

If (α is below 90) and (β is below 90) and (Δθ is high) then (L2 is low) (1)

If (α is below 90) and (β is below 90) and (HI is large) then (L2 is low) (1)

If (v is zero) and (HDOP is good) then (L2 is high) (1)

If (Δd is negative) and (HDOP is good) then (L2 is low) (1) (modified in this thesis)

If (Δd is positive) and (HDOP is good) then (L2 is average) (1) (modified in this thesis)

If (HI is small) and (v is high) then (L2 is average) (1)

If (v is high) and (HI is 180) and (Δθ is high) and (HDOP is good) then (L2 is

high) (1)

In order to determine whether the position fix should match with the previously selected link, a

threshold output value can be used (Quddus et al, 2006). This threshold output value can be derived

empirically by applying the FIS to a given (true) input/output dataset.

SMP at a junction (SMP-2)

Page 56: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

43

The SMP-2 starts when the vehicle is either about to cross or has just crossed the junction.The

purpose of SMP-2 is to select a new link among the candidate links by using the same FIS as used in

IMP. However, there are two more input parameters that are considered in SMP-2. They are the link

connectivity and distance error (Quddus et al, 2006) as shown in figure 6-7.

Figure 6.7: SMP at a junction

Suppose that the vehicle is travelling at link 1. The last map matched position on this link is S. Now

the task of SMP-2 is to select a new link from the candidate link 2, 3 and 6 for the position fix C as

the vehicle has already crossed the junction. Since the location of the vehicle for the previous epoch is

known, the link connectivity helps to identify the correct link. For example, there is no link

connectivity between link 1 and link 6 and so it is less probable that the map match position for point

C is at link 6. The term d in Figure 6-7 represents the distance travelled by the vehicle from the last

epoch and it is calculated by taking the speed of the vehicle at C. The term d2, d3 and d6 are the

shortest path distances travelled by the vehicle, if the vehicle is on link 2, 3 and 6 respectively. The

absolute difference between d and d2 (or d3 or d6) is the distance error associated with each link as

shown in figure 6-7. The distance error is an input to this FIS. The lower the distance error for a link

the higher the probability that the vehicle is on that link. So, in this FIS, the two additional state input

variables, which are link the connectivity and the distance error are fuzzified as shown in Figure 6-8.

The output variable of this FIS is the likelihood of matching to a link (L3) (Quddus et al, 2006). A

zero-order Sugeno fuzzy model is again used, which takes three constants for the output, L3, low (Z1)

= 10, average (Z2) = 50 and high (Z3) = 100 (Quddus et al, 2006).

Page 57: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

44

Connectivity (0 or 1)

(a)

(b)

Figure 6.8: The MFs for (a) the link connectivity, and (b) the delta distance

Ten rules are used for the FIS of SMP-2, where the first six rules are same as the rules that were

presented for the FIS of IMP. The four additional rules are presented below which is taken from

Quddus et al, 2006.

If (The connectivity with the previous link is high) then (The L3 is high) (1)

If (The connectivity with the previous link is low) then (The L3 is low) (1)

If (The distance error is high) then (The L3 is low) (1)

If (The distance error is low) then (The L3 high) (1)

This FIS is applied to all the links that are within the buffered region except the links where α or β

values (in Figure 6-5.) are less than or equal to 94 degrees (determined by the given input/output data

to the FIS), which is proposed in this thesis. The link, which gets the highest likelihood value is

selected as the correct link (Quddus et al, 2006).

Page 58: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

45

6.4.2 Determination of the vehicle location on the selected link

In this thesis, after the determination of the correct link, the perpendicular projection to the selected

link from the position fix is used in order to determine the vehicle location on the selected link.

6.4.3 Algorithm Step-by-Step

There are two basic steps, which are used for the map matching algorithm and they are IMP and SMP.

In SMP there are two stages: 1) SPM along a link and 2) SMP at a junction. So, the IMP and SMP is

used to find correct link and after selecting the correct link, perpendicular projection is used to

determine the vehicle location on the link.

6.4.3.1 Steps involved in IMP

IMP is the most important part of the fuzzy logic based map matching algorithm. This is achieved by

the following steps:

1. After the receiver has accrued an initial position, the necessary inputs for map matching such

as geodetic latitude and longitude, the speed of the vehicle, HDOP, the direction of the

vehicle, GPS time are extracted from GPS NMEA message and the direction of the link, and

the perpendicular distance from the position fix to the link are obtained from digital map in

order to implement the fuzzy inference system.

2. Use 25m buffer initially for selecting the candidate links and increase it sequentially until the

buffer region contains at least 1 link.

3. Fuzzification of the input variables by using their MFs. The single output variable is the

likelihood (low, average, and high) associated with each link.

4. Specify fuzzy knowledge based IF-THEN rules.

5. Utilize Sugano‟s FIS as described in section 6.3.2

6. Optimization of all MFs based on true input/output data set has performed on Quddus at el.,

2006 and are used in this thesis.

7. Choose a link, which gives the largest likelihood. It is considered as the correct link for the

for the position fix.

8. Continue steps 2 to 6 for the next 9 consecutive position fixes to see whether the algorithm

identifies the same link for the next 9 consecutive position fixes. If they select the same link

then it is assumed to be the first correct link for those position fixes as shown on Figure 6-4.

In order to select the first correct link the vehicle must travel on a link for at least 10 seconds

and the algorithm should also select that link 10 times consecutively during this 10 second

period. Otherwise, IMP will continue until it satisfies this condition.

9. Use a perpendicular projection from the position fix to the selected link in order to determine

the vehicle position on the link.

Page 59: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

46

6.4.3.2 Steps involved in SMP

The performance of SMP largely depends on the performance of IMP. SMP includes two stages: 1)

SMP along a link (SMP-1), and 2) SMP at a junction (SMP-2).

SMP along a link (SMP-1)

SMP along a link describes how to match subsequent position fixes just after IMP or SMP at a

junction. The steps involved with SMP-1 are presented below:

1. Acquire the essential inputs ( such as the heading increment, the speed of the vehicle, the

gyro-rate reading, the distance difference, the value of α, the value of β and the HDOP) to

implement a Sugeno FIS.

2. Then the fuzzification of all the inputs is performed by using their MFs. The single output of

this FIS (L2) is the possibility of matching the current position fix to the previously selected

link.

3. Specify fuzzy knowledge-based IF-THEN rules.

4. Utilize Sugano‟s FIS as described in section 6.3.2.

5. Optimization of all MFs based on true input/output data set has performed on Quddus at el.,

2006 and are used in this thesis.

6. Derive a threshold value for L2. This is achieved by using true input/output data in the Java

environment where the map matching was implemented in this thesis. If the value of L2 is

higher than the specified threshold, then the position fix can be matched to the previously

selected link. Otherwise, the algorithm assumes that the vehicle is near to a junction where to

SMP-2 needs to apply.

SMP at a junction (SMP-2)

The function of this stage is to identify the correct link when the vehicle travels through a junction.

The steps involved with SMP-2 are presented below:

1. Acquire the essential inputs ( such the speed of the vehicle, HDOP, the direction of the

vehicle, the direction of the link, and the perpendicular distance from the position fix to the

link, the value of α and β (shown in figure 6-5), the link connectivity and distance error as

described in section 6.4.1.2 ) to implement a Sugeno FIS.

2. Use 25m buffer initially for selecting the candidate links and increase it sequentially until the

buffer region contains at least one link.

Page 60: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

47

3. Then the fuzzification of all the inputs is performed by using their MFs. The single output of

this FIS (L3) is the likelihood associated with each link.

4. Specify fuzzy knowledge-based IF-THEN rules.

5. Utilize Sugano‟s FIS as described in section 5.3.2

6. Optimization of all MFs based on true input/output data set has performed on Quddus at el.,

2006 and are used in this thesis.

7. Select a link which gives the largest likelihood value for L3. This is considered as the new

correct link for the position fix.

6.5 Sending stand-alone map matched position through internet

For automatic vehicle monitoring, stand-alone map matched position are sent to the remote user

through internet and we have written java code for this purpose.

For sending these positions, the Java socket classes, Socket and ServerSocket are used. Java provides

the Socket and ServerSocket classes as an abstraction of standard Transmission Control Protocol

(TCP) socket programming techniques (Rogers Cadenhead, 2007).

The Socket class provides a client-side socket interface. So, by using this interface the client-side code

is written and a new instance of socket is created to open connection by using the server hostname and

port number. This client-side code should run by the user in order to visualize the vehicle current

position and its map matched position on the map (Rogers Cadenhead, 2007).

On the other side, the Server-side sockets work similarly as the client sockets, with the exception of

the accept() method. The server socket listens on a TCP port for a connection from a client; when a

client connects to that port, the accept() method accepts a connection from that client. By using both

client and server sockets, the applications communicate with each other over the network (Rogers

Cadenhead, 2007).

For visualizing the vehicle position on the map on the user side, the server-side code should run

simultaneously. The result for sending data is shown in chapter 7.

Page 61: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

48

CHAPTER 7

Numerical results and tests

In this chapter, GPS data, IMU data and digital road network data, implementation, and numerical

results and tests are described.

7.1 Data Description

7.1.1 GPS data

Bluetooth GPS Receiver BT-338 is used in this thesis. The BT-338 is a GPS receiver with Bluetooth

interface and built-in active antenna for high sensitivity to tracking signal. System Specification is

shown in Appendix E.

Geodetic latitude, geodetic longitude and HDOP and GPS time are read from GGA message; RMC

message provides Azimuth (in degrees) and velocity (in Knot).

7.1.2 IMU data

ISIS-IMU made by Inertial Science INC is used in this thesis. ISIS-IMU is a six-degree of freedom

inertial measurement unit designed for commercial use. It is well suited for low accuracy and high

dynamic environments, where small size, lightweight and low power consumption is demanded. It

consists of three solid state rate sensors and three solid state accelerometers. This system incorporates

sigma-delta digitizer and a 16-bit microprocessor to provide fully compensated digital RS232 outputs.

General specification and output format of ISIS-IMU are presented Appendix E.

7.1.3 Digital road network map data description

The road network data is a vital component for any transport telematics application especially for map

matching process. The Stockholm road network data is taken for the map matching. The collected

road network data is a shape file and it is loaded to the postgresSQl database as a table. The loaded

shape file has line geometry and this line geometry has the type of multiline string. However, the

conversion from multiline string to line string has performed in postgresSQl table as it is required for

map matching processes. Then the direction and length of each line string is calculated and saved to

the Stockholm road data table which are important parameter that are required during map matching

process. Another important parameter is the shortest path distance from all nodes to all nodes (which

is within the 300 m buffer region of all individual nodes) is calculated and saved in a table, which is

used during the real time map matching process. However, for the post-processing mode the shortest

path distance is calculated directly from the database.

The accuracy of the road network varies from place to place and the road network data is checked by

comparing with the true vehicle trajectory. The true trajectory is obtained by GPS career-phase

observables. It is found that in the straight line distance between the true trajectory and road network

data is approximately between 6 m and 8 m, and it is between 17m and 24m in intersection. The road

Page 62: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

49

network map data were also compared with the Google map road network data, and it was found that

in some places, road link connectivity is not correct.

7.2 Implementation

In this thesis, stand-alone GPS and integrated GPS and IMU aided by fuzzy logic based map matching

were implemented in Java platform. Some details are explained below.

7.2.1 Stand-alone GPS positioning aided by map matching for car navigation

In this thesis, real time stand-alone GPS aided by fuzzy logic based map matching was implemented

in Java platform. We used Threads3 in order to run all the Java classes simultaneously. GPS NMEA

messages were read from bluetooth COM port and geodetic latitude, geodetic longitude, HDOP,

velocity and vehicle azimuth were extracted and sent by blocking queue to the main processor class

that implements map matching including IMP, SM1 and SM2. A buffer was made around GPS point

in postgreSQL and links azimuth, perpendicular distance to links and shortest

paths (Shortest paths were used only in SMP2) were extracted from database and sent to the main

processor. For the first few minutes IMP class was called from the main processor class. Afterwards,

based on fuzzy logic consequence variable, SMP1 or SMP2 classes were called from main processor

class. Current vehicle positions and their map matched positions were sent to a server and the remote

user connects to the server to get the map matched positions through the internet using socket. Figure

7.1 shows the implementation of stand-alone GPS aided by map matching.

Fuzzy logic based initial map matching and subsequent map matching are performed for the

identification of true link as explained in Chapter 6.

3 Threads are parts of a program set up to run on their own while the rest of the program does something else. This also is

called multitasking because the program can handle more than one task simultaneously.

Page 63: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

50

Figure 7.1: Implementation of stand-alone GPS aided by map matching

7.2.2 Integrated GPS and IMU positioning aided by map matching for car navigation

In this thesis, integrated GPS and IMU positioning aided by fuzzy logic based map matching was

developed in Java platform. GPS NMEA messages are read from bluetooth COM port and the IMU

raw output were read from COM port and converted to angular velocity and specific force. GPS time

was used for time stamping of IMU data. Then, SINS algorithm which is given in Appendix B is used

to obtain , , n

INS INS bC for every 0.01 second. Then, the loosely coupled GPS-IMU integration was

performed for every second (GPS data rate). GPS and IMU have to be synchronized for integration

but a problem arises for the time synchronization. After few minutes, at the online mode, no matched

data was found in every second due to the high data rate of IMU. So, a Java code was developed for

gathering GPS and IMU data and a post processing code was developed for GPS-IMU integration and

map matching. Figure 7.2 shows implementation of integrated GPS and IMU aided by map matching

Page 64: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

51

Figure 7.2: Implementation of integrated GPS and IMU aided by map matching

7.3 Numerical results and tests

In this thesis, stand-alone GPS positioning aided by map matching and integrated GPS and IMU

positioning aided by map matching were performed. Several tests were performed by car and bus for

urban and suburban areas. Finally, the results were compared.

BT-338 Bluetooth GPS and ISIS-IMU are used for these tests. A reference (“true”) trajectory that is

determined by high accuracy GPS carrier phase positioning is used to validate the results. The GPS

carrier-phase observables are processed differentially. Therefore, the raw data was needed from both

the reference and from the roving receiver (Rover). The applicable reference station for this study was

SWEPOS station “0sth172” located in Stockholm. Trimble Office is used to process data and obtain

true trajectory.

7.3.1 Stand-alone GPS and GPS-IMU aided map matching results

In this part, test results for stand-alone GPS and GPS-IMU aided map matching are presented. The

tests were conducted for various scenarios with different network characteristics and with different

traffic maneuvers. These tests were conducted for several times for the determination of the threshold

value for the likelihood L2 (the output of FIS in SMP-1), which is used to check whether the current

position fix matched with the previously selected link. It has been found that the algorithm performs

better for the threshold value of 67 for Stand-alone GPS and 70 for GPS-IMU. The results for urban

and suburban areas with different network characteristics are presented and compared in this chapter.

7.3.1.1 Stand-alone GPS and GPS-IMU aided map matching results for rural areas

Page 65: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

52

The whole trajectory of stand-alone GPS aided map matching for rural areas is shown in Figure 7.3

where the round dots represent the vehicle position before map matching and triangular symbols on

the road link represent the vehicle position after map matching.

Figure 7.3: Route for Stand-alone GPS test at rural area

Map matching result for stand-alone GPS for a part of rural areas is shown in Figure 7.4.

Page 66: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

53

Figure 7.4: Stand-alone GPS, Map matching results for a part of test network in rural area which includes a

round-about and a motorway merging

The whole trajectory of integrated GPS and IMU aided map matching for rural areas is shown in

Figure 7.5.

Page 67: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

54

Figure 7.5: Route for integrated GPS and IMU test at rural area

Map matching result for Integrated GPS and IMU in a part of rural areas is shown in Figure 7.6.

Page 68: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

55

Figure 7.6: Integrated GPS and IMU, Map matching results for a part of test network in rural area which includes a

round-about and a motorway merging

When the vehicle is moving with relatively high velocity, stand-alone GPS and integrated GPS and

IMU give more and less the same results, but when vehicle is moving slowly or is in the stationary

mode, especially at the junctions, integrated GPS and IMU gives better results as shown in Figure 7.7.

At the junction, in Figure 7.7, the vehicle is moving slowly and stand-alone GPS was unable to find

the correct link for 5 epochs.

Page 69: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

56

Figure 7.7: Comparison of the performance of Stand-alone GPS and Integrated GPS

and IMU at a Junction in rural area.

Stand-alone GPS and integrated GPS-IMU tests were performed around half an hour for the rural

area. The results are shown in the Table 7.1.

Table 7.1: Map Matching result comparison for Stand-alone

GPS and GPS-IMU for rural area.

Total Number of links incorrectly selected links Success rate

Stand-alone GPS 2149 78 96.4%

Integrated GPS-IMU 2137 58 97.3%

Page 70: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

57

7.3.1.2 Stand-alone GPS and GPS-IMU aided map matching results for urban areas

The whole trajectory of Stand-alone GPS aided map matching for urban areas is shown below in

Figure 7.8.

Figure 7.8 : Route for integrated GPS and IMU test at urban area

Map matching result for stand-alone GPS for urban areas is shown in Figure 7.9.

Page 71: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

58

Figure 7.9: Stand-alone GPS, Map matching results for a part of test network in urban which includes a

Square

As we can see in the above Figure, 11 links are selected incorrectly.

The whole trajectory of integrated GPS and IMU aided map matching for urban areas is shown in

Figure 7.10.

Page 72: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

59

Figure 7.10: Route for integrated GPS and IMU test at urban area

Map matching result for integrated GPS and IMU in a part of urban areas is shown in Figure 7.11.

Page 73: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

60

Figure 7.11: Integrated GPS and IMU, Map matching results for a part of test network in rural area which includes a

square

As we can see in Figure 7.11, 8 links are selected incorrectly, which is better than stand-alone GPS.

Comparison of the performance of stand-alone GPS and integrated GPS and IMU at a junction in

urban area is shown in Figure 7.12. Integrated GPS-IMU provides better result.

Page 74: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

61

Figure 7.12: Comparison of the performance of Stand-alone GPS and Integrated GPS

and IMU at a Junction in urban area.

Stand-alone GPS and integrated GPS-IMU test are performed for 40 minutes in urban area. The

results are shown in the Table 7.2.

Table 7.2: Map Matching result comparison for Stand-alone

GPS and GPS-IMU for urban area.

Total Number of links incorrectly selected links Success rate

Stand-alone GPS 2374 175 92.6%

Integrated GPS-IMU 2360 132 94.4%

A test is performed by bus for the urban area as well, the route is shown in Figure 7.13

Page 75: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

62

Figure 7.13: : Route for bus test at urban area

Stand-alone GPS and integrated GPS-IMU bus test are performed for 25 minutes for the urban area.

The results are shown in the Table 7.3.

Page 76: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

63

Table7.3: Map Matching result comparison for Stand-alone

GPS and GPS-IMU for urban area for bus test.

Total Number of links incorrectly selected links Success rate

Stand-alone GPS 1507 100 93.4%

Integrated GPS-IMU 1491 83 94.4%

Comparison of the performance of stand-alone GPS and integrated GPS and IMU at a junction in the

urban area is shown in Figure 7.14. Integrated GPS-IMU provides a better result.

Figure 7.14: Comparison of the performance of Stand-alone GPS and Integrated GPS

and IMU at a Junction in urban area (bus test).

13 links were selected incorrectly by stand-alone GPS at the junction highlighted by a circle. Shortly

after the junction the bus stopped. At the stationary mode, stand-alone GPS calculates random

azimuths so it is probable to select links incorrectly but integrated GPS-IMU does not have this

problem as we can see.

7.3.2 Summary

A comparison is performed between, map matching for stand-alone GPS and integrated GPS and

IMU. Integrated GPS and IMU shows better results by 0.9% in car test for rural area, 1.8% in car test

for urban area and 1% for bus test in urban area. Stand-alone GPS will produce random azimuth at the

Page 77: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

64

stationary mode. It can produce more and less good azimuth when the vehicle speed is more than 3

m/s (Quddus et al.,2006). GPS-IMU produces smoother and better azimuth than Stand-alone GPS as

can be seen in Figure 7.15 and Figure 7.16.

Figure 7.15: GPS-IMU azimuth

Figure 7.16: Stand-alone GPS azimuth

Another disadvantage of stand-alone GPS MM over GPS-IMU MM is GPS black-out. No GPS signal

is available at urban canyons, in tunnels, under bridges and at streets with dense tree coverage. While

no GPS signal is available, GPS-IMU MM shifts to stand-alone IMU (only prediction step of Kalman

filter is performed) for positioning, so it can select correct link for some seconds especially if the link

0

50

100

150

200

250

300

350

400

1

75

1

49

2

23

2

97

3

71

4

45

5

19

5

93

6

67

7

41

8

15

8

89

9

63

1

03

7

11

11

1

18

5

12

59

1

33

3

14

07

1

48

1

15

55

1

62

9

17

03

1

77

7

18

51

1

92

5

19

99

2

07

3

21

47

2

22

1

22

95

0

50

100

150

200

250

300

350

400

1

73

1

45

2

17

2

89

3

61

4

33

5

05

5

77

6

49

7

21

7

93

8

65

9

37

1

00

9

10

81

1

15

3

12

25

1

29

7

13

69

1

44

1

15

13

1

58

5

16

57

1

72

9

18

01

1

87

3

19

45

2

01

7

20

89

2

16

1

22

33

2

30

5

Page 78: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

65

is selected correctly before GPS black out. To test this scenario, GPS was disconnected. As shown in

Figure 7.17, 28 true links are selected after GPS black out. When there is no GPS update, the IMU

errors grow rapidly. After 28 seconds, the position accuracy (evaluated by true trajectory) is 34.9 m.

Furthermore, there are five more rules based on gyro rate in SMP1 of GPS-IMU map matching, which

makes it more reliable. Stand-alone GPS map matching needs less computational time so it is faster

and less complicated than GPS-IMU map matching.

Figure 7.17: results of Map Matching after GPS black out for GPS-IMU MM

Page 79: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

66

7.3.3 Sending map matched position through internet

The stand-alone map matched position is sent to the user by internet, and a test was performed for

sending data from KTH area through internet to one of the computer in the GIS lab. The result is

shown in Figure 7.18. In the figure the points on the link are the map matched positions.

Figure 7.18: Sending stand-alone map matched position through internet

Page 80: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

67

CHAPTER 8

Conclusion and Discussion

In this thesis, a fuzzy logic based map matching algorithm was developed and tested in Stockholm

urban and suburban areas. The algorithm was tested by using the data from stand-alone GPS (in real

time mode), and also from integrated GPS and IMU (in post-processing mode). In this algorithm,

there are various zero order Sugeno-type fuzzy inference system (FIS) based fuzzy rules. Fuzzy

variables (explained in chapter 6) are speed of the vehicle, the connectivity and the orientation of the

links and the satellite geometric contribution to the positioning error (HDOP). Java socket classes,

Socket and ServerSocket were utilized to send the current vehicle position and its map matched

position to the user for monitoring purposes.

The explanation of the findings discussed in chapter 7 and the recommendation of future research in

the field of map matching algorithm is presented below:

8.1 Discussion

It is found from the results that the stand-alone GPS aided map matching algorithm sometimes does

not work correctly at the intersections, especially when the vehicle speed is low (less than 3 m/sec), in

which case, the azimuth produced by stand-alone GPS is not reliable when the vehicle speed is low. In

the case of integrated GPS and IMU, the calculated vehicle heading is more accurate and the

algorithm selects the correct link. Also in SMP-1 of integrated GPS and IMU aided map matching

algorithm, there are five extra fuzzy rules out of thirteen using gyro-rate. These extra rules give better

performance in the SMP-1 process to check whether the current vehicle position should match with

the previously identified link.

The map matching algorithms performed in this thesis can be compared with the performance of other

existing map matching algorithms as shown in Table 8.1.

Table 8.1: Comparison of existing map matching algorithms

Map

matching

algorithm

Bernstein

and

Kornhauser

(1998)

White

et al.

(2000)

Srinivasan

et al.

(2003)

Greenfeld

(2002)

Yu et

al.

(2002)

Yang

et al.

(2003)

Fu et

al.

(2004)

Syed

and

Cannon

(2004)

Quddus

(2006)

Urban

results

(from

this

thesis)

Rural

results

(from this

thesis)

Success

rate

70.5 % 76.8% 80.2 85.6 86.3 82.5 80.5 92.5 99.2 94.4 97.3

Page 81: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

68

As you see from Table 8.1, fuzzy logic based map matching method gives the best results among

other map matching methods. In this thesis the method developed by Quddus (2006), was tested.

However, Quddus achieved better results due to using more accurate digital road map.

8.2 Recommendation

As a result of the experience gained during this thesis, the issues that are recommended for further

research are presented below:

The integration of GPS and IMU was performed by using loosely coupled approach

(positioning domain). However, the integration can be performed by using tightly coupled

approach. Tightly coupled filter will not go to the prediction mode (in Kalman filter) when

only 3 or 2 satellites are tracked.

Some extra road design parameters such as turn restriction at junctions, roadway classification

(one way or two way) and under pass and over pass information can also be used as input in

map matching algorithm, which can improve the performance of the map matching algorithm.

High accurate digital road network can be used in order to increase the accuracy of map

matching.

A structured code can be developed to make the application for integrated GPS and IMU

aided map matching process in real time mode.

More appropriate approach can be used to determine the vehicle position on the selected link.

A gyroscope (or magnetometer) and odometer (data of anti break lock) can be used instead of

using IMU to reduce the cost.

Dynamic web programming can be performed to visualize the vehicle position on the client-

side.

Page 82: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

69

REFERANCES

Bernstein, D. and Kornhauser, A. 1996, An introduction to map matching for personal navigation

assistants. Technical report, New Jersey TIDE Center Technical Report, 1996.

Bernstein, D., Kornhauser, A., 1998, Map matching for personal navigation assistants. In proceedings

of the 77th annual meeting of the Transportation Research Board, 11-15 January, Washington D.C.

Bentley, J.L., Mauer, H.A., 1980, Efficient worst-case data structures for range searching. Acta Inf.

13, 155-168.

Brown, R.G., Hwang, Y.C. 1997, Introduction to Random Signals and Applied Kalman Filtering.

John Wily & Sons, Inc.

Cadenhead, R., 2007, Teach yourself Java 6 in 21 days, Indianapolis, Indiana 46240.800

Chen, W., YU, M., Li, Z.-L., Chen, Y.-Q. 2003. Integrated Vehicle Navigation System for Urban

Applications. GNSS 2003, Graz, April , CD-ROM, 15 pp.

Fuchs, H., Kedem, Z.M., Naylor, B.F., 1980, On visible surface generation by a priori tree structures.

Comput. Graphics, 14, pp. 124-133.

Greenfeld, J.S., 2002, Matching GPS observations to locations on a digital map. In proceedings of the

81st Annual Meeting of the Transportation Research Board, January, Washington D.C.

Grewal, M.S., Andrews, A.P. 2001, Kalman Filtering Theory and Practice Using MATLAB. John

Wily & Sons, Inc.

Hofmann-Wellenhof, Lichtenegger, H., Collins, J. 2001, Global Positioning System Theory and

Practice. John Wily & Sons, Inc.

Honey, S.K., Zavoli, W.B., Milnes, K.A., Phillips, A.C., White, M.S., Loughmiller, G.E., 1989,

Vehicle navigational system and method, United States Patent No., 4796191.

Page 83: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

70

Huang, L.-J., Kao, W.W., Oshizawa, H., Tomizuka, M., 1991, A fuzzy logic based map matching

algorithm for automotive navigation systems, IEEE Roundtable Discussion on Fuzzy and Neural

Systems, and Vehicle Applications, Paper No., 16.

Jekeli, C. 2001, Inertial Navigation Systems with Geodetic Applications. John Wily & Sons, Inc.

Leick, A. 1995, GPS Satellite Surveying. John Wiley And Sons Inc., USA.

Jo, T., Haseyamai, M., Kitajima, H., 1996, A map matching method with the innovation of the

Kalman filtering. IEICE Trans. Fund. Electron. Comm. Comput. Sci. E79-A, pp 1853-1855.

Kao, W.W., Huang, L.-J., 1994, System and method for locating a travelling vehicle, United States

Patent No., 5283575.

Krakiwsky, E.J., Harris, C.B., Wong, R.V.C., 1988, A Kalman filter for intrgrating dead reckoning,

map matching and GPS positioning. In: Proceedings of IEEE Position Location and Navigation

Symposium, 39-46.

Kim, W., Jee, G, Lee, J., 2000, Efficient use of digital road map in various positioning for ITS, IEEE

Symposium on Position Location and Navigation, San Deigo, CA.

Kim, S., Kim, J., 2001, Adaptive fuzzy-network based C-measure map matching algorithm for car

navigation system, IEEE Transactions on industrial electronics, 48 (2), 432-440.

Kim., S., Kim, J.-H, Hyun, I.-H, 1998, Development of a map matching algorithm for car navigation

system using fuzzy Q-factor algorithm. In proceedings of the World Congress Intelligent Transport

System, October, Seoul, Korea.

Li, J., Fu, M., 2003, Research on route planning and map-matching in vehicle GPS/deadreckoning/

electronic map integrated navigation system, IEEE Proceedings on Intelligent Transportation

Systems, 2., 1639-1643.

Meng, Y., Chen, W., Chen, Y., Chao, J.C.H., 2003, A simplified map-matching algorithm for in-

vehicle navigation unit. Research Report, Department of Land Surveying and Geoinformatics, Hong

Kong Polytechnic University.

Page 84: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

71

Najjar, M.E., Bonnifait, P., 2003, A roadmap matching method for precise vehicle Localization using

belief theory and Kalman filtering. The 11th International Conference in Advanced Robotics,

Coimbra, Portugal, June 30 - July 3.

Ochieng, W.Y., 2004, The Global Positioning System (GPS): an overview and data processing

models. MSc. (Transport) Lecture Notes, Centre for Transport Studies, Imperial College London.

Petovello,M.G. 2003, Real-time Integration of a Tactical-Grade IMU and GPS for High-

Accuracy Positioning and Navigation. PhD Thesis, The Department of Geomatics Engineering,

University of Calgary.

Parkinson, B. W., Spilker, J.J. Jr., Global Positioning System: Theory and Applications, vols.

1 and 2, American Institute of Aeronautics, 370 L‟Enfant Promenade, SW, Washington, DC,

1996

Pyo, J., Shin, D., Sung, T., 2001, Development of a map matching method using the multiple

hypothesis technique, IEEE Proceedings on Intelligent Transportation Systems, 23-28.

Quddus, M.A., 2006, High Integrity Map Matching Algorithms for Advanced Transport Telematics

Applications. PhD Thesis, Centre for Transport Studies, Department of Civil and Environmental

Engineering, Imperial College London.

Quddus, M.A., Noland, R.B., Ochieng, W.Y., 2006 ''A high accuracy fuzzy logic-based map matching

algorithm for road transport'', Journal of Intelligent Transportation Systems: Technology, Planning,

and Operations, 10(3), 103-115.

Salychev, A.O. 2004, Medium Accuracy GPS/INS Integration in Various GPS Environment . MSc

Thesis. The Department of GeomaticsEngineering, University of Calgary.

Syed, S. 2005, Development of Map-Aided GPS Algorithms for Vehicle Navigation in Urban

Canyons, M.Sc. Thesis, The University of Calgary, Department of Geomatics Engineering, Calgary.

Syed, S., Cannon, M.E., 2004, Fuzzy logic-based map matching algorithm for vehicle navigation

system in urban canyons. In proceedings of the Institute of Navigation (ION) national technical

meeting, 26-28 January, California, USA.

Page 85: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

72

Srinivasan, D., Cheu, R.L., 2003, Development of an improved ERP system using GPS and AI

techniques, IEEE Proceedings on Intelligent Transportation Systems, 554-559.

Taylor, G., Blewitt, G., Steup, D., Corbett, S., Car, A., 2001, Road Reduction Filtering for GPS-GIS

Navigation, Transactions in GIS, ISSN 1361-1682, 5(3), 193-208.

Tanaka, J., Hirano, K., Itoh, T., Nobuta, H., Tsunoda, S., 1990, Navigation system with map-matching

method. Proceeding of the SAE International Congress and Exposition, pp 40-50.

Yang, D., Cai, B., Yuan, Y., 2003, An improved map-matching algorithm used in vehicle navigation

system, IEEE Proceedings on Intelligent Transportation Systems, 2, 1246-1250.

Zhao, Y., 1997, Vehicle Location and Navigation System. Artech House, Inc., MA.

Zhao, L., Y. O. Washington, M. A. Quddus and B.N. Robert. 2003. Extended Kalman Filter and Map

Matching Algorithm for an Integrated GPS/Dead Reckoning System for Transport and Telematic

Applications, Journal of Navigation, Vol.56, pp. 257-275.

East 96th Street, Indianapolis, Indiana 46240 800 East 96th Street, Indianapolis, Indiana 46240 800

East 96th Street, Indianapolis, Indiana 46240800 East 96th Street, Indianapolis, Indiana 46240

Page 86: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

73

Appendix A

In this part, some details about gyroscopes and accelerometers and their error modeling will be

explained briefly.

Gyroscope

Gyroscope is a device to orient the platform. The first generation of gyroscopes was mechanical

devices working based on Law of Conservation of Angular Momentum. A mechanical gyroscope has

a spinning mass whose angular momentum provides a well defined direction in inertial space (Jekeli,

2001). There are two types of mechanical gyros:

1- Single Degree of Freedom(SDF):

These gyros have one sensitive axis

2- Two Degrees of Freedom(TDF):

These gyros have two sensitive axes

There is another type of gyroscope called optical gyroscope which has no rotating mass and

functioning on entirely different principles. Light acts as the sensor element in optical gyros (Jekeli,

2001).

The output of a gyroscope is angular velocity of body frame with respect to inertial frame

coordinatized in body frame (b

ib ). In some gyroscope angle increment is measured (Jekeli, 2001):

(A-1)

Accelerometer

This sentence that “an accelerometer senses acceleration” is not complete and precise. In fact an

accelerometer senses specific force (Jekeli, 2001):

(A-2)

The above equation is navigation equation in inertial frame

Where: is specific force

is gravitational acceleration

is position in inertial frame

An accelerometer cannot sense gravitational acceleration. If an accelerometer falls freely and the air

resistance is ignored, the output will be zero.

Modelling of gyroscope and accelerometer errors

Gyro error model is described as follows (Jekeli, 2001):

l

l

t

t

b

ibdt

1

i i b i

bX C a g

ba

ig

iX

)()()()()()( tWtCtkDtjjj GGj

b

ibGjj

b

ib

Page 87: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

74

(A-3)

Where:

jD is drift bias which is a random constant

jGk is scale factor error which is a random constant

jGC is a Gauss-Markov random process

jGW is gyro white noise

accelerometer error model is described as follows (Jekeli, 2001):

(A-4)

Where:

jB is accelerometer bias which is a random constant

jAk is scale factor error which is a random constant

jAC is a Gauss-Markov random process

jT is a random constant process

jAW is accelerometer white noise

)()()()( tWeTtCtakBtajjj A

c

t

jA

b

jAj

b

j

Page 88: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

75

Appendix B

In this part, the algorithms to obtain transformation from b-frame to arbitrary a-frame (i-frame, e-

frame or n-frame) and the algorithm to obtain velocity and position are described.

Transformation from b-frame to a-frame

Gyro output is angle increment which is defined as follows (Jekeli, 2001):

(B-1)

Using which is available from previous epoch, quaternion at epoch is obtained as follows

(Jekeli, 2001)

(B-2)

Where:

(B-3)

(B-4)

And

(B-5)

The way in order to obtain quaternion at epoch zero is explained in coarse alignment.

Algorithm to obtain velocity and position

Navigation equation in the arbitrary a-frame is as follows (jekeli, 2001):

(B-6)

Taking integral from above equation yields velocity

(B-7)

Where:

(B-8)

(B-9)

l

l

t

t

i

ibl dtt

1

)(

l)1( lCb

a

1

1 1 1ˆ ˆ ˆˆ ˆ( ) cos( ) sin( ) ( )ˆ2 2

l l l l l

l

q t I B q t

1 1ˆ ( ) ( )b a

l l a l ia lC t t t

ˆ ˆ ˆT

l l l

0)()()(

)(0)()(

)()(0)(

)()()(0

123

132

231

321

lll

lll

lll

lll

lB

( , , , , )a a b a a a a a

b ia ia

dv C a f X v g

dt

1

2 1 1

1

1ˆ ˆ ( ( 2)(3 ) 4 ( 1)( )...

6

ˆ... ( )(3 )) ( , , , , )l

a a a b b a b b

l l b l l b l l

a b b a a a a a

b l l ia ia t t

v v C l v v C l v v

C l v v f X v g t

1

2

1 ( )l

l

t

b b

l

t

v a t dt

1

( )l

l

t

b b

l

t

v a t dt

2 ll ttt

Page 89: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

76

(B-10)

Taking integral from velocity yields position, (Jeleki, 2001):

(B-11)

(B-12)

(B-13)

tvhh

hN

tv

hM

tv

lDll

lll

lEll

ll

lNll

12

111

12

11

12

)ˆ(ˆˆ

)ˆcos()ˆˆ(

)ˆ(ˆˆ

ˆˆ

)ˆ(ˆˆ

Page 90: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

77

Appendix C

Matrix in dynamic error equation in n-frame is described below (Jekeli, 2001):

(C-1)

Where:

(C-2)

(C-3)

(C-4)

M is meridian radius of curvature

N is prime vertical radius of curvature

n

nn

p

g

np is position in n-frame

(C-5)

(C-6)

(C-7)

1 1

1 1

1 1

2

3 2 1 11 2 12

13

3 1 1

0 sin 0 cos 0 sin 0 0

sin 0 cos 1 0 0 0 0 0

cos 0 0 sin 0 cos 0 0

1( sin 2

0 / / 2 / sin 2 2 / cos 2 cos 2

) / ( )

/ ( cos ) 0 / ( cos ) 2 tan 2(

n

n n n n

n

n n

F

l l

l l

l l

la r a r h r l r l

r

a r a r l

1

1122 23

21

2 2

22

2 1 1 2 31 32

33

(2 tantan2 ( )2

tan )) /

tan sec cos

cos0 2 2 cos 0 sin 2 cos

0 0 0 1 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 1 0 0 0

n n

n

n n n n

n

lhllh

rr r r

la a r r l r l r r

el 1

el 22

NMRhRr ,

1 2 3

n n n nx h h

1 1

0 0

0

0 0 0

n

b

n n

b

C

G D C D

b

ib

b

n

U a

g

Page 91: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

78

Appendix D

Linearized Kalma filter:

As we can see, system model and measurement model is not linear. A nominal trajectory is used for

Taylor series expansion (Grewal , 2001).

(D-1)

(D-2)

(D-3)

(D-4)

(D-5)

(D-6)

Linearized System and measurement model model are as follows:

(D-7)

(D-8)

(D-9)

(D-10)

(D-11)

(D-12)

(D-13)

(D-14)

Extended Kalman filter is described below, the values estimated by the filter are used for Taylor series

expansion (Grewal, 2001):

(D-15)

(D-16)

(D-17)

1 1 1( )

( )

( ) 0

K K K K

K K K K

K

X f X W

Z h X V

E W

( ) ( )

( ) 0

( ) ( )

T

K i K

K

T

K i K

E W W Q K i

E V

E V V R K i

11 1 1( )nomK

K K K k

fX X X X w

X

11 1

nomKK K

fX X

X

nomKK K

hH X X

X

1 1ˆ ˆ( ) ( )K K KX X

ˆ ˆ ˆ( ) ( ) ( ( ) ( ))nom

K K K K K K K KX X K Z h X H X

1 1 1 1 1 1( ) ( ) T T

k k k k k k kP P G Q G

1( ) ( ( ) )T T

k k k k k k kK p H H p H R

( ) ( ) ( )k k k kP I K H P

1 1ˆ ˆ( ) ( ( ))K K KX f X

ˆ ˆ( ( ))K K KZ h X

11 1

ˆ ( )KK K

fX X

X

ˆ ( )KK K

hH X X

X

Page 92: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

79

(D-18)

(D-20)

(D-21)

(D-22)

(D-23)

ˆˆ ˆ( ) ( ) ( )k k k k Kx x K Z Z

1 1 1 1 1 1( ) ( ) T T

k k k k k k kP P G Q G

1( ) ( ( ) )T T

k k k k k k kK p H H p H R

( ) ( ) ( )k k k kP I K H P

Page 93: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

80

Appendix E

In Appendix E, BT-338 GPS receiver specification and general specifications and output format of

ISIS-IMU are presented.

Table E.1: BT-338 Specification

GPS Output Data NMEA 0183 protocol, and supports command: GGA(1sec), GSA(1 sec),

GSV(5 sec), RMC(1sec) ( VTG and GLL are optional)

GPS transfer rate 38400,N,8,1

Table E.2: General Specification of ISIS-IMU

Baud rate 115.2 KB

Frame rate 100 frames/sec

Protocol 1 start bit (0), 8 data bit (LSB first), 1 stop bit (1), no parity

Table E.3: ISIS-IMU output

Byte # Description Remarks

1 7E(hex) Header

2 slow data 1Hz average data

3 rate x low nominal scale factor

4 rate x high

5 rate y low nominal scale factor

6 rate y high

7 rate z low nominal scale factor

8 rate z high

9 accel x low nominal scale factor

10 accel x high

11 accel y low nominal scale factor

12 accel y high

13 accel z low nominal scale factor

14 accel z high

15 counter 1 upcount/frame (0 ~ 99)

16 check sum exclusive-or byte 1 – 15

Page 94: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

81

The ISIS-IMU output mentioned above can be used to obtain angular velocity and acceleration around

X, Y and Z axes of IMU as follows:

Table E.4: Method to calculate angular velocity and acceleration from output of ISIS-IMU

IMU_rx=256*Bytes[4]+ Bytes[3] if(IMU_rx>32767){IMU_rx=IMU_rx-

65536}

Rotation around X axis=

IMU_rx*ScR

IMU_ry=256*Bytes[6]+ Bytes[5] if(IMU_ry>32767){IMU_ry=IMU_ry-

65536}

Rotation around Y axis=

IMU_ry*ScR

IMU_rz=256*Bytes[8]+ Bytes[7] if(IMU_rz>32767){IMU_rz=IMU_rz-

65536}

Rotation around Z axis=

IMU_rz*ScR

IMU_ax=256*Bytes[10]+Bytes[9] if(IMU_ax>32767){IMU_ax=IMU_ax-

65536}

Acceleration around X axis=

Sn*IMU_ax

IMU_ay=256*Bytes[12]+Bytes[11] if(IMU_ay>32767){IMU_ay

=IMU_ay- 65536}

Acceleration around Y axis=

Sn*IMU_ay

IMU_az=256*Bytes[14]+Bytes[13] if(IMU_az>32767){IMU_az=IMU_az-

65536}

Acceleration around Z axis=

Sn*IMU_az

Sn which equals 0.00163642350633333 is nominal ISIS-accelerometer scale factor to convert bit to

and ScR which equals 1/60 is nominal ISIS-Gyro scale factor to convert bit to degree/s.

Page 95: Server Based Real Time GPS-IMU Integration Aided by Fuzzy ...kth.diva-portal.org/smash/get/diva2:443373/FULLTEXT02.pdf · The stand-alone Global Positioning System (GPS) or an Integrated

Reports in Geodesy and Geographic Information Technology

The TRITA-GIT Series - ISSN 1653-5227

2010

10-001 Jan Haas. Soil moisture modelling using TWI and satellite imagery in the Stockholm region.

Master of Science thesis in geoinformatics. Supervisor: Ulla Mortberg and David Gustafsson. March 2010.

10-002 Elbashir Mohamed Elbashir Elhassan. The Effect of GPS Signal Quality on the Ambiguity

Resolution Using the KTH method. Master’s of Science thesis in geodesy No.3120. Supervisor: Milan Horemuz. May 2010.

10-003 Daniya Inerbayeva. Determination of a gravimetric geoid model of Kazakhstan using the KTH-method. Master’s of Science thesis in geodesy No.3121. Supervisor: Huaan Fan. June 2010.

10-004 Fırat Ergun and Trevor Schwartz. NCC GNSS RTK Network Accuracy Analysis. Master’s of Science thesis in geodesy No.3122. Supervisor: Milan Horemuz. November 2010.

2011

11-001 Andreas Engstrand. Railway Surveying - A Case Study of the GRP 5000. Master’s of Science thesis in geodesy No.3123. Supervisor: Milan Horemuz. March 2011.

11-002 Magnus Rydén. Strategic Placing of Field hospitals using Spatial Analysis. Master of Science

thesis in geoinformatics. Supervisor: Yifang Ban. May 2011.

11-003 Sin Wai Lau. Comparison and Fusion of space borne L-, C- and X- Band SAR Imageries for Damage Identification in Sichuan Earthquake. Master of Science thesis in geoinformatics. Supervisor: Yifang Ban. June 2011.

11-004 Lotta Rehn-Molin . Long-term Stability Analysis of Antenna Temperature & Brightness

Temperature from ESA’s SMOS Satellite. Supervisor: Yifang Ban. June 2011.

11-005 Gunnar Wohletz. A GIS Model to Estimate a Sustainable Potential of Forest Fuel for Energy Generation in the Municipality of Växjö, Sweden. Supervisor: Yifang Ban. August 2011.

11-006 Martina Bednjanec. Calibration of ALS Intensity Data. Supervisor: Milan Horemuz. September 2011.

11-007 Yashar Balazadegan Sarvrood and Md Nurul Amin. Server Based Real Time GPS-IMU Integration Aided by Fuzzy Logic Based Map Matching Algorithm for Car Navigation. Supervisors: Milan Horemuz and Gyözö Gidofalvi. September 2011.

TRITA-GIT EX 11-007

ISSN 1653-5227

ISRN KTH/GIT/EX--11/007-SE