server based real time gps-imu integration aided by fuzzy...
TRANSCRIPT
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
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.
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.
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
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
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
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
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
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
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
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
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
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
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.
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.
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)
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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.
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.
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).
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
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
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
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.
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.
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
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
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))
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.
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
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
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)
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.
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).
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
41
three constants for the output, L2, low (Z1) = 10, average (Z2) = 50 and high (Z3) = 100 (Quddus et
al., 2006).
(a)
(b)
(c)
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)
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).
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).
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.
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.
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.
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
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.
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
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
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.
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.
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.
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.
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%
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.
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.
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.
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.
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
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.
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
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
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
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
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
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.
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.
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.
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.
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
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
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
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
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()ˆˆ(
)ˆ(ˆˆ
ˆˆ
)ˆ(ˆˆ
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
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
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
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
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.
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