Top Banner
Thesis for the degree of Licentiate of Engineering GNSS-aided INS for land vehicle positioning and navigation Isaac Skog Signal Processing School of Electrical Engineering KTH (Royal Institute of Technology) Stockholm 2007
136
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 10.1.1.63

Thesis for the degree of Licentiate of Engineering

GNSS-aided INS for land vehicle positioning andnavigation

Isaac Skog

Signal ProcessingSchool of Electrical Engineering

KTH (Royal Institute of Technology)

Stockholm 2007

Page 2: 10.1.1.63

Skog, IsaacGNSS-aided INS for land vehicle positioning and navigation

Copyright c©2007 Isaac Skog except whereotherwise stated. All rights reserved.

TRITA-EE 2007:066ISSN 1653-5146

Signal ProcessingSchool of Eletrical EngineeringKTH (Royal Institute of Technology)SE-100 44 Stockholm, SwedenTelephone + 46 (0)8-790 7790

Page 3: 10.1.1.63

Abstract

This thesis begins with a survey of current state-of-the art in-car navigation sys-tems. The pros and cons of the four commonly used information sources –GNSS/RF-based positioning, vehicle motion sensors, vehicle models and map in-formation – are described. Common filters to combine the information from thevarious sources are discussed.

Next, a GNSS-aided inertial navigation platform is presented, into which fur-ther sensors such as a camera and wheel-speed encoder can be incorporated. Theconstruction of the hardware platform, together with an extended Kalman filter fora closed-loop integration between the GNSS receiver and the inertial navigationsystem (INS), is described. Results from a field test are presented.

Thereafter, an approach is studied for calibrating a low-cost inertial measure-ment unit (IMU), requiring no mechanical platform for the accelerometer calibra-tion and only a simple rotating table for the gyro calibration. The performance ofthe calibration algorithm is compared with the Cramr-Rao bound for cases wherea mechanical platform is used to rotate the IMU into different precisely controlledorientations.

Finally, the effects of time synchronization errors in a GNSS-aided INS arestudied in terms of the increased error covariance of the state vector. Expressionsfor evaluating the error covariance of the navigation state vector are derived. Twodifferent cases are studied in some detail. The first considers a navigation system inwhich the timing error is not taken into account by the integration filter. This leadsto a system with an increased error covariance and a bias in the estimated forwardacceleration. In the second case, a parameterization of the timing error is includedas part of the estimation problem in the data integration. The estimated timingerror is fed back to control an adjustable fractional delay filter, synchronizing theIMU and GNSS-receiver data.

i

Page 4: 10.1.1.63
Page 5: 10.1.1.63

Acknowledgements

First of all, I would like to express my deepest gratitude to my advisor, ProfessorPeter Handel, for his ideas, inspiration and enormous support. I look forward toworking with you for another couple of years!

I would like to thank my colleagues at ”plan 4” for making work a pleasure. Tomy friends, who have repeatedly asked me what a PhD student actually does andwhat I am working on and, though they may not have fully understood my answers,still support me. Put simple, the work of a PhD student can be summarized asfollows: Choose a topic (in my case land vehicle navigation), read one hundredpapers on it, write a new paper with a couple of amendments so that the nextperson in line will have to read one hundred and one papers, present your results ata conference in a carefully chosen location and, lastly, iterate the process severaltimes. Thanks for bringing a lot of joy and fun into my life.

Finally, and most importantly, I would like to thank my mother, Margareta,and my father, Rolf, for letting me as a child bring home and take apart all the oldtelevisions and stereos I could find - that’s how it all started. I owe it all to you. Tomy brother, Elias, and my half-sister, Julia, I love you the most!

iii

Page 6: 10.1.1.63
Page 7: 10.1.1.63

Contents

Abstract i

Acknowledgements iii

Contents v

I Introduction 1

Introduction 11 Contributions of the Thesis . . . . . . . . . . . . . . . . . . . . . 12 Related papers not included in the thesis . . . . . . . . . . . . . . 4

II Included papers 5

A State-of-the art and future in-car navigation systems – a survey A11 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A12 State-of-the art systems . . . . . . . . . . . . . . . . . . . . . . . A33 Global Navigation Satellite Systems and Augment Systems . . . . A54 Vehicle Motion Sensors . . . . . . . . . . . . . . . . . . . . . . . A8

4.1 Dead reckoning and inertial navigation . . . . . . . . . . A135 Vehicle models and motions . . . . . . . . . . . . . . . . . . . . A166 Map information . . . . . . . . . . . . . . . . . . . . . . . . . . A187 Information Fusion . . . . . . . . . . . . . . . . . . . . . . . . . A20

7.1 Non-linear filtering . . . . . . . . . . . . . . . . . . . . . A218 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A22References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A23

B A low-cost GPS aided inertial navigation system for vehicle applica-tions B11 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B12 Navigation Dynamics . . . . . . . . . . . . . . . . . . . . . . . . B2

v

Page 8: 10.1.1.63

2.1 Navigation equations . . . . . . . . . . . . . . . . . . . . B22.2 Error equations . . . . . . . . . . . . . . . . . . . . . . . B3

3 Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . B53.1 Discrete time navigation equations . . . . . . . . . . . . . B53.2 Discrete time error equations . . . . . . . . . . . . . . . . B5

4 Extended Kalman Filtering . . . . . . . . . . . . . . . . . . . . . B65 Design and Conclusions . . . . . . . . . . . . . . . . . . . . . . B8

5.1 Hardware Design . . . . . . . . . . . . . . . . . . . . . . B95.2 Simulation results . . . . . . . . . . . . . . . . . . . . . B9

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B11

C A Versatile PC-Based Platform For Inertial Navigation C11 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C12 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . C23 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C24 Software Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . C45 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C86 Conclusions an Further Work . . . . . . . . . . . . . . . . . . . . C9References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C11

D Calibration of a MEMS inertial measurement unit D11 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D12 Sensor Error Model . . . . . . . . . . . . . . . . . . . . . . . . . D23 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D64 Cramer Rao Lower Bound . . . . . . . . . . . . . . . . . . . . . D85 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D9

5.1 Performance Evaluation . . . . . . . . . . . . . . . . . . D95.2 Calibration of IMU . . . . . . . . . . . . . . . . . . . . . D10

6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D11Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D15References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D15

E Time synchronization errors in GPS-aided inertial navigation systems E11 Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . E12 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E33 Covariance of the estimation error . . . . . . . . . . . . . . . . . E4

3.1 Closed-Loop Error . . . . . . . . . . . . . . . . . . . . . E63.2 Timing Errors in Closed-Loop . . . . . . . . . . . . . . . E73.3 Example: Single-axis GPS-aided INS . . . . . . . . . . . E9

4 Modelling the timing error in the integration filter . . . . . . . . . E134.1 Example: Single-axis GPS-aided INS, revisited . . . . . . E17

5 Implementing a variable delay in the navigation filter . . . . . . . E176 Time synchronization applied to a low-cost GPS-aided INS . . . . E20

6.1 Simulated data . . . . . . . . . . . . . . . . . . . . . . . E21

vi

Page 9: 10.1.1.63

6.2 Real-world data . . . . . . . . . . . . . . . . . . . . . . . E237 Observability of time delay error . . . . . . . . . . . . . . . . . . E348 Results and Conclusions . . . . . . . . . . . . . . . . . . . . . . E35Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E36Appendix B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E38References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E39

vii

Page 10: 10.1.1.63
Page 11: 10.1.1.63

Part I

Introduction

Page 12: 10.1.1.63
Page 13: 10.1.1.63

Introduction

In-car navigation involves three distinguished processes: estimation of the vehi-cles position and velocity relative to a known reference, path planing, and routeguidance. The first capability, positioning, is essential for successful path planingand route guidance capability. Nowadays, the area of high-performance position-ing systems and methods is well developed. The challenge is to develop high-performance system solutions using low-cost sensor technology. This is the topicof the thesis, consisting of the following five papers.

Paper A: I. Skog and P. Handel, ”State-of-the art and future in-car navigationsystems – a survey”, submitted to IEEE Transactions on Intelligent Trans-portation Systems.

Paper B: I. Skog and P. Handel, ”A low-cost GPS aided inertial navigation systemfor vehicle applications”, in Proc. EUSIPCO 2005, (Antalya, Turkey), Sept.2005.

Paper C: I. Skog, A. Schumacher and P. Handel, ”A Versatile PC-Based PlatformFor Inertial Navigation”, in Proc. NORSIG 2006, (Reykjavik, Iceland), June.2006.

Paper D: I. Skog and P. Handel, ”Calibration of a MEMS inertial measurementunit”, in Proc. XVII IMEKO World Congress, (Rio de Janeiro, Brazil), Sept.2006.

Paper E: I. Skog and P. Handel, ”Time synchronization errors in GPS-aided in-ertial navigation systems”, submitted to IEEE Transactions on IntelligentTransportation Systems.

1 Contributions of the ThesisThe contributions in this thesis appears in terms of five papers, devoted to differ-ent areas associated with the development of low-cost in-car navigation solutions.An introduction to land vehicle navigation is provided in paper A, written as asurvey of the current state-of-the art in-car navigation technology; to mediate a

Page 14: 10.1.1.63

2INTRODUCTION

understanding of the limitations and problems associated with the current in-carnavigation systems. The remaining four papers make contributions to the follow-ing topics.

• Development of versatile navigation platforms. Papers B and C, presents theconstruction of a GNSS aided INS platform, into which further sensors suchas a camera, wheel-speed encoder etc., are easily incorporated.

• Calibration of low-cost IMUs. The main contribution in paper D is theproposed simplified method to calibrate low-cost IMUs, together with thederivation of the Cramer-Rao bound for the standard calibration method,where a turn-table is used to rotate the IMU into different orientations.

• Time synchronization in GNSS aided INSs. Paper E deals with the problemof time synchronization in a GNSS aided INS. Expressions for the increasederror covariance of the system, due to the synchronization error is derived.A method to compensate for the time synchronization error is proposed.

The papers are summarized in the following sections.

Paper A: State-of-the art and future in-car navigation systems – a survey

A survey of the information sources and information fusion technologies used inthe current in-car navigation systems is presented. The pros and cons of the fourcommonly used information sources — GNSS/RF-based positioning, vehicle mo-tion sensors, vehicle models and map information — are described. Commonfilters to combine the information from the various sources are discussed. A pre-diction of possible tracks in the further development of in-car navigation systemsconcludes the survey.

Paper B: A low-cost GPS aided inertial navigation system for vehicle applica-tions

In this paper an approach for integration between GPS and inertial navigation sys-tems (INS) is described. The continuous-time navigation and error equations foran earth-centered earth-fixed INS system are presented. Using zero order holdsampling, the set of equations is discretized. An extended Kalman filter for closedloop integration between the GPS and INS is derived. The filter propagates and es-timates the error states, which are fed back to the INS for correction of the internalnavigation states. The integration algorithm is implemented on a host PC, whichreceives the GPS and inertial measurements via the serial port from a tailor madehardware platform, which is briefly discussed. Using a battery operated PC thesystem is fully mobile and suitable for real-time vehicle navigation. Simulationresults of the system are presented.

Page 15: 10.1.1.63

1 CONTRIBUTIONS OF THE THESIS3

Paper C: A Versatile PC-Based Platform For Inertial Navigation

A GPS aided inertial navigation platform is presented, into which further sensorssuch as a camera, wheel-speed encoder etc., can be incorporated. The constructionof the platform is described and an introduction to the sensor fusion approach isgiven. Results from a field-test is presented, indicating which error sources thatneeds to be modelled more accurately.

Paper D: Calibration of a MEMS inertial measurement unit

An approach for calibrating a low-cost IMU is studied, requiring no mechanicalplatform for the accelerometer calibration and only a simple rotating table for thegyro calibration. The proposed calibration methods utilize the fact that ideallythe norm of the measured output of the accelerometer and gyro cluster are equalto the magnitude of applied force and rotational velocity, respectively. This fact,together with model of the sensors is used to construct a cost function, which isminimized with respect to the unknown model parameters using Newton’s method.The performance of the calibration algorithm is compared with the Cramer-Raobound for the case when a mechanical platform is used to rotate the IMU intodifferent precisely controlled orientations. Simulation results shows that the meansquare error of the estimated sensor model parameters reaches the Cramer-Raobound within 8 dB, and thus the proposed method may be acceptable for a widerange of low-cost applications.

Paper E: Time synchronization errors in GPS-aided inertial navigation sys-tems

The effects of time synchronization errors in a GPS-aided inertial navigation sys-tem (INS) are studied in terms of the increased error covariance of the state vector.Expressions for evaluating the error covariance of the navigation state vector —given the vehicle trajectory and the model of the INS error dynamics — are de-rived. Two different cases are studied in some detail. The first case considers anavigation system in which the timing error is not included in the integration filter.This leads to a system with an increased error covariance and a bias in the esti-mated forward acceleration. In the second case, a parameterization of the timingerror is included as a part of the estimation problem in the data integration. Theestimated timing error is fed back to control an adjustable fractional delay filter,synchronizing the inertial measurement unit (IMU) and GPS-receiver data. Sim-ulation results show that by including the timing error in the estimation problem,almost perfect time synchronization is obtained and the bias in the forward acceler-ation is removed. The potential of the proposed method is illustrated with tests onreal-world data that are subjected to timing errors. Moreover, through an observ-ability analysis, it is shown that the timing error is observable for all trajectoriesthat include turns or non-zero accelerations.

Page 16: 10.1.1.63

4INTRODUCTION

2 Related papers not included in the thesisThe following two papers have not been included, even though partly related tothe work described in the thesis.

Paper F: J. Rantakokko, P. Handel, F. Eklof, B. Boberg, M. Junered, D. Akos, I.Skog, H. Bohlin, F. Neregard, F. Hoffmann, D. Andersson, M. Jansson, andP. Stenumgaard, ”Positioning of emergency personnel in rescue operations– possibilities and vulnerabilities with existing techniques and identificationof needs for future R&D”, Technical report, Royal Institute of Technology,Stockholm, Sweden.

Paper G: P. Handel, Y. Yao, N. Unkuri, and I. Skog, ”A framework for mooseearly warning driver assistance systems”, Technical report, Royal Instituteof Technology, Stockholm, Sweden.

Page 17: 10.1.1.63

Part II

Included papers

Page 18: 10.1.1.63
Page 19: 10.1.1.63

Paper A

State-of-the art and future in-car navigation systems – a survey

Isaac Skog and Peter HandelSubmitted to IEEE Transactions on Intelligent Transportation Systems

Page 20: 10.1.1.63

c©2007 IEEEThe layout has been revised

Page 21: 10.1.1.63

State-of-the art and future in-car navigation systems– a survey

Isaac Skog and Peter Handel

Abstract

A survey of the information sources and information fusion technologies usedin the current in-car navigation systems is presented. The pros and cons of thefour commonly used information sources — GNSS/RF-based positioning, vehiclemotion sensors, vehicle models and map information — are described. Commonfilters to combine the information from the various sources are discussed. A pre-diction of possible tracks in the further development of in-car navigation systemsconcludes the survey.

1 IntroductionToday a large share of private cars is delivered from the factory with a GPS-basedin-car navigation system. Owners of used cars can at, a reasonable cost, install oneof the many third party in-car navigation systems on the market. These navigationaids are designed to support the driver by showing the vehicle’s current locationon a map and by giving both visual and audio information on how to efficientlyget from one location to another, i.e., route guidance. Moreover, many vehiclesused in professional services, such as taxis, buses, ambulances, police cars and firetrucks, are today equipped with navigation systems that not only show the currentlocation but also constantly communicate the vehicle location to a monitoring cen-ter. Operators at the center can use this information to direct the vehicle fleet asefficiently as possible. To further improve the usefulness of these in-car navigationsystems, for example, with information such as when, where and how to make lanechanges with respect to the planned course changes, the accuracy of both the navi-gation systems and digital maps has to be improved [1, 2]. Increasing the accuracyand robustness of the navigation systems implies that the traffic coordinators couldguide their vehicle fleets even more efficiently in terms of the traffic flow in dif-ferent road lanes, etc. Refer to [3] for a discussion of robustness enhancement of

Page 22: 10.1.1.63

A2 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

PSfrag replacements

Information sources

GNSS/RF-basedPositioning

Vehicle MotionSensors

Road Maps

Vehicle Models

InformationFusion

User Information

Vehicle State

Guidance

Traffic SituationInformation

Camera/Radar/Laser

ADAS

Figure 1: Conceptional description of the available information sources and in-formation flow for a in-car navigation system. The block with dashed-lines are in general not an apart of current in-car navigation systemsbut will likely be a major part of next generation in-car navigationsystems and advanced driver assistant systems (ADAS).

a bus fleet monitoring system. Moreover, further development of advanced driverassistance systems (ADASs) and safety applications such as automatized highwaysystems, lane/road departure detection and warning systems, and collision avoid-ance requires not only navigation systems with higher accuracy but also betterreliability and integrity, i.e., redundant information sources are needed [4].

With reference to Fig. 1, looking at the in-car navigation problem from aninformation perspective there are basically five different sources of informationavailable: the various Global Navigation Satellite Systems (GNSSs) and other RF-based navigation systems, sensors observing the vehicle dynamics, road maps andvehicle models. The GNSS receiver and vehicle motion sensors provide observa-tions for estimation of the vehicle state. The vehicle model and road map put con-straints on the dynamics of the system and allow past information to be projectedforward in time and to be combined with the current observation information [5].The fifth type of information source - visual, radar, or laser information - is gen-erally not used in current systems, but plays a major role in the development ofADASs, etc. Details on the incorporation of visual information into vehicle nav-igation systems and safety application systems are found in [6]. For designers ofin-car navigation systems, the problem is to choose which of these informationsources, if not all, to use and how to combine the information to meet performance

Page 23: 10.1.1.63

2 STATE-OF-THE ART SYSTEMS A3

requirements. This necessitates a balance between the cost, complexity and per-formance of the system.

When evaluating the performance of a navigation system, it is important toremember that accuracy is only one of four performance measurements character-izing the system. The performance measurements are [7, 8]:

• Accuracy – the degree of conformity of information concerning position,velocity, etc. provided by the navigation system relative to actual values

• Integrity – measure of the trust that can be put in the information from thenavigation system, i.e., the likelihood of undetected failures in the specifiedaccuracy of the system.

• Availability – a measure of the percentage of the intended coverage area inwhich the navigation system works

• Continuity of service – the system’s probability of continuously providinginformation without non-scheduled interruptions during the intended work-ing period.

Before entering into a discussion on possible ways to achieve increased navigationperformance, it is important to point out that the area of high-performance naviga-tion is well developed. Nowadays, the challenge is to develop high-performancenavigation system solutions using low-cost sensor technology [9].

The purpose of this paper is to present a survey of current in-car navigationtechnology: possibilities, limitations and various design approaches. Section 2 de-scribes state-of-the art in-car navigation systems and their pitfalls. Sections 3 to 6describe the idea of operation, together with pros and cons of the four commonlyused information sources in current in-car navigation. Section 7 is devoted to theproblem of combining information from the different sources. Section 8 concludesthe survey with a prediction of different tracks in the further development of in-carnavigation systems.

2 State-of-the art systemsGenerally, current commercially available in-car navigation systems match theinformation from a GPS receiver with that of a digital map, so called map-matching [1, 2, 10, 11]. That is, by comparing the trajectory and position in-formation from the GPS receiver with the roads in the digital map, the most likelyposition of the vehicle on the road is estimated. In urban environments, buildingsmay partly block satellite signals, forcing the GPS receiver to work with a poorgeometric constellation of satellites and thereby reducing the accuracy of the posi-tion estimates [12–15]. Even worse, less than four satellites may become available,making position fixes impossible and interrupting the continuity of the navigationsolution. Moreover, multi-path propagation of the radio signal due to reflection in

Page 24: 10.1.1.63

A4 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

surrounding objects may lead to decreased position accuracy without notificationby the GPS receiver, thereby reducing the integrity of the navigation solution [15].Therefore, to counteract navigation solution degradation in situations with poorsatellite constellation geometry, shadowing and multipath propagation of the satel-lite signals, advanced in-car navigation systems use information from additionalsensors such as accelerometers, gyroscopes and odometers. To give an example,Siemens’ car navigation system uses a gyroscope and odometer to perform deadreckoning (DR). The trajectory estimated from dead reckoning is then projectedonto the digital map. If the estimated position is between several roads, severalprojections are done and the likelihood of each projection is estimated based onthe information from the GPS receiver and the development of the trajectory overtime [10, 11]. Including additional sensors is not merely a question of giving thenavigation system higher accuracy, better integrity or providing a more continuousnavigation solution. It also allows the update rate of the system to be increasedand provides more information such as acceleration, roll and pitch, depending onwhich types of sensors are used. The typical update rate for a GPS receiver isless than 20 times per second [16], whereas modern low-cost accelerometers andgyroscopes have update rates (bandwidths) of hundreds of Hertz. This means thateven the high-frequency dynamics of the vehicle can be captured by the in-carnavigation system.

To give absolute figures on the accuracy of state-of-the art in-car navigationsystems and navigation systems in general is difficult, since the performance ofthe systems depends not only on the characteristics of the sensors, GPS receiver,vehicle model and map information but also on the trajectory dynamics and sur-rounding environment. However, an indication of the achievable performance thatcan be expected from an in-car navigation system based on fusion of GPS-positionestimates with an odometer and gyroscope based dead reckoning system (DRS)(no map-matching or vehicle model) can be found in an excellent paper [17]. Theauthors evaluate how much the error in each individual sensor contributes to thetotal error in the position estimates of a land vehicle traveling at constant speedalong a straight road. The sensitivity analysis shows that when GPS-position datais available, 90% or more of the long- and cross-track positioning error is dueto GPS-positioning errors. Further, performance during GPS outages is mainlydetermined by the drift characteristics and accuracy with which the DR sensorswere calibrated before the outage. The implication of this finding is that in or-der to design a robust navigation system from low-cost dead reckoning sensors,a high-accuracy positioning aiding system is needed. Hence, the accuracy of thein-car navigation system is highly dependent on available low-cost GPS receiversolutions.

Page 25: 10.1.1.63

3 GLOBAL NAVIGATION SATELLITE SYSTEMS AND AUGMENT SYSTEMS A5

3 Global Navigation Satellite Systems and AugmentSystems

Currently there are two global navigation satellite systems available: the RussianGLONASS1 and the American Global Positioning System (GPS) [18]. Further,the European satellite navigation system Galileo is under construction and isscheduled to be fully operational by 2010-2012. Up-to-date information regard-ing the Galileo project is available from the home page of the European SpaceAgency [19]. These three systems have and will have a number of similarities andthe GPS and Galileo system will be directly compatible, whereas the GLONASSsystem requires a somewhat different receiver structure. Further, the difference inorbit plans of the satellite constellations in the systems provides good coveragein different regions. The GPS system provides good coverage at mid latitudes,whereas the GLONASS system gives better coverage at higher latitudes [18].

The basic operational idea of the GNSS is that receivers measure the time-of-arrival of satellite signals and compare it to the transmission time, to calculate thesignals’ propagation time. The time propagations are used to estimate the distancesfrom the GNSS receiver to the satellites, so-called range estimates. From the rangeestimates, the GNSS receivers calculate position by means of triangulation. Thisis illustrated in Fig. 2. The accuracy of the position estimates is dependent on boththe accuracy of the range measurements and the geometry of the satellites used inthe triangulation [8, 15].

Errors in range estimates can be grouped together, depending on their spatialcorrelation, as common mode and non-common mode errors [16, 20]. Commonmode errors are highly correlated between GNSS receivers in a local area (50-200 km) and are due to ionospheric radio signal propagation delays, satellite clockand ephemeris2 errors, and tropospheric radio signal propagation delays. Non-common mode errors depend on the precise location and technical construction ofthe GNSS receiver and are due to multi-path radio signal propagation and receivernoise. In Table 1, the typical standard deviation of these errors in the ranging es-timates of a single-frequency GPS receiver, working in standard precision service(SPS) mode, is given [16]. Depending on the geometry of the available satelliteconstellation, the error budget for the standard deviation of the user equivalentrange error (UERE) can be mapped to a prediction of the corresponding horizontalposition accuracy as [16]:

CEP =√

ln(2) · HDOP · UERE. (1)

Here, CEP (circular error probable) denotes the radius of a circle that contains50% of the expected horizontal position errors. Further, HDOP is the horizontaldilution of precision, reflecting the geometry of the satellite constellation. It is

1GLObalnaya Navigatsionnaya Sputnikovaya Sistema.2The ephemeris errors are due to the deviations in the satellite orbits, resulting in a difference

between the actual and theoretically calculated satellite locations.

Page 26: 10.1.1.63

A6 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

PSfrag replacements

Satellit

SatellitSatellit

Receiver

True Range

Pseudo Range

UncertaintyRegion

Figure 2: Conceptional description of the positioning of a GNSS receiver. Un-der ideal circumstances, the propagation times of the satellite signalscalculated by the GNSS receiver correspond to the true ranges be-tween the receiver and the satellites, and the position of the receiveris given by the interception of the circles (spheres in 3-dim). Due toerrors in the range estimates, there is no single interception point, butrather an interception region reflecting the possible positions of thereceiver.

worth noting that (1) is based on several assumptions such as uncorrelated rangeestimates and circular Gaussian-distributed position estimation errors, which moreor less hold true [21]. Therefore (1) should only be used as a rough indication ofposition error.

Since common mode errors are the same for all GNSS receivers in a restrictedlocal area, they can be compensated by having a stationary GNSS receiver at aknown location that estimates common mode errors and transmits correction in-formation to rover GNSS receivers. This technology is commonly referred to asdifferential GNSS (DGNSS).

The correlation of the common mode error decreases with the distance betweenthe reference station and the rover unit. This will also be the case with the systemperformance [22]. The problem can be solved by a network of reference stationsover the intended coverage area. The errors observed by these stations are con-stantly sent to a central processing station, where a map of the ionospheric delay,

Page 27: 10.1.1.63

3 GLOBAL NAVIGATION SATELLITE SYSTEMS AND AUGMENT SYSTEMS A7

Table 1: Standard deviations of errors in the range measurements in a single-frequency GPS receiver [16].

Error Source Standard deviation [m]Common mode

Ionospheric 7.0Clock and ephemeris 3.6Tropospheric 0.7

Non-common modeMulti-path 0.1–3.0Receiver noise 0.1–0.7

Total (UERE) 7.9–8.5CEP with a horizontal dilution of preci-sion, HDOP=1.2

6.6–7.1

together with ephemeris and satellite clock corrections, is calculated. The correc-tion map is then relayed to the user terminals (GPS and GLONASS receivers),which can calculate correction data for their specific location [8, 23]. There areseveral satellite-based augmentation systems (SBASs) that, through geostationarysatellites, regionally provide correction information free of charge for the GPSand GLONASS systems. In North America, there is the Wide Area AugmentationSystem (WAAS), in Europe the European Geostationary Navigation Overlay Ser-vice (EGNOS) and in Japan the Multi-functional Satellite Augmentation System(MSAS). Further, the GAGAN system for India and SNAS system for China areunder development [23–25]. In addition to providing correction data, the SBASsalso provide information regarding the integrity of the signals from the varioussatellites. They also serve as additional satellites and thereby enhance the avail-able satellite constellation. In [25], an illustrative example of the enhancement ofthe HDOP for a GPS receiver in an alpine canyon environment using EGNOS datais given.

All SBASs are designed to be interoperable. The geostationary satellites ofthe augmentation systems transmit correction data using the L1 (1575.42 MHz)frequency of the GPS system, and therefore only the software for GPS receivershas to be modified to receive correction data. Many low-cost GPS receivers areable to use correction data from the SBASs [24]. In areas where obstruction pre-vents the reception of the EGNOS signal from any of the geostationary satellites,the information may be obtained from the EGNOS data access system, broad-casting the information via Internet-SISNeT (Signals in Space through the Inter-net) [26, 27]. Test results, based on correction data from the WAAS and EGNOSsystems, demonstrate position accuracy in the range of 1-2 m in the horizontalplane and 2-4 m in the vertical plane at a 95% confidence interval [28]. A morethorough description on how the SBAS operates and correction data is calculatedcan be found in [8]. Further, information regarding the EGNOS project is available

Page 28: 10.1.1.63

A8 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

from 20 fact sheets from the European Space Agency (ESA) at [29]. It should bepointed out that the discussion above about performance characteristics and aug-mentation systems for the GPS system has focused on single-frequency receiverunits. Using dual frequency receivers and charier-phase measurements supportedby various augmentation systems, it is possible to achieve real-time position ac-curacy on a decimeter level [7, 22, 24, 30, 31]. However, the required receiverunits are currently far too costly for use in commercial in-car navigation systems.In [24], a discussion of the performance and cost of single- and two-frequency GPSreceivers and various augment systems is presented. In [15], software developedto predict the position accuracy of a GNSS receiver along a predefined trajectoryin an urban environment is described.

Even if the GNSS receivers’ positioning accuracy is enhanced by various aug-mentation systems, the problems of poor satellite constellations, satellite signalblockages, and signal multipath propagation in urban environments remain. Withthe start-up of the Galileo system, the number of accessible satellites will increaseand the probability of poor satellite geometry and signal blockages in urban envi-ronments will be reduced. Further, the integrity of the provided navigation solutionwill increase since two (three) separate systems are available for navigation. Still,there will be areas such as tunnels where reliable GNSS receiver navigation solu-tions will not be available. The problem can be reduced by ground-based stationsacting as additional satellites, so-called pseudolites. By locating the pseudolitesat favorable sites, the accuracy and continuity of the GNSS receivers’ naviga-tion solution can be enhanced [20, 32]. However, usage of pseudolites has someinherent drawbacks: it only solves the coverage problem locally, it requires anadditional infrastructure, and the GNSS receiver must be designed to handle theadditional pseudolite signals. Other radio-based navigation aids that are under ex-tensive research include positioning in wireless sensor networks, cellular networksand WLANs. An overview of the various techniques, possibilities and limitationsof positioning in wireless networks can be found in [33–35].

The inherent weakness of all radio signal-based navigation methods is theirreliance on information from external sources that may become erroneous or dis-turbed. In order to overcome these pitfalls and create a robust navigation system,they should be combined with information from other sensors or navigation sys-tems.

4 Vehicle Motion SensorsThere are a number of sensors, wheel odometers, magnetometers, accelerometers,etc. that can provide information about a vehicle’s state that may be used in com-bination with a GNSS receiver or other absolute positioning systems. In Table 2,the most commonly used sensors, together with the information they provide, aresummarized.

Page 29: 10.1.1.63

4 VEHICLE MOTION SENSORS A9

Table 2: Sensors commonly used as a complement to GNSS-receivers for en-hancement of in-car navigation systems.

Sensor MeasurementSteering encoder Front wheel directionOdometer Travelled distanceVelocity encoders Wheel velocities (Indirectly, heading)Electronic compass Heading relative magnetic northAccelerometer AccelerationGyroscope Angular velocity

A steering encoder measures the angle of the steering wheel. Hence, it pro-vides a measure of the angle of the front wheels relative to the forward directionof the vehicle platform. Together with information on the wheel speeds of thefront wheel pair, the steering angle can be used to calculate the heading rate of thevehicle.

An odometer provides information on the traveled curvilinear distance of avehicle by measuring the number of full and fractional rotations of the vehicle’swheels [17]. This is mainly done by an encoder that outputs an integer number ofpulses for each revolution of the wheel. The number of pulses during a time slotis then mapped to an estimate of the traveled distance during the time slot throughmultiplication with a scale factor depending on the wheel radius.

A velocity encoder provides a measurement of the vehicle’s velocity by ob-serving the rotation rates of the wheels. If separate encoders are used for the leftand right wheel of either the rear or front wheel pair, an estimate of the headingchange of the vehicle can be found through the difference in wheel speeds. Infor-mation on the speed of the different wheels is often available through the sensorsused in the anti-lock breaking system (ABS). See [36–38] for details. For a kine-matic vehicle model as illustrated in Fig. 3, the left and right rear wheel velocitiesvlr and vrr, respectively, together with the track width, tw, can be mapped to aheading rate estimate as:

ψ =vrr − vlr

tw. (2)

By measuring the velocity of the left and right front wheels, vlf and vrf , respec-tively and observing the steering angle δ, the yaw rate can be estimated as:

ψ =vrf − vlf

tw cos(δ). (3)

The dependency of the steering angle δ is due to the variation in efficient trackwidth with the radius of the turn [38].

These ideas on how to estimate traveled distance, velocity and heading of thevehicle are all based on the assumption that the wheel revolutions can be translated

Page 30: 10.1.1.63

A10 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

PSfrag replacements

ψ - Yaw rate

vlf - Velocity

vrf - Velocity

left front wheel

right front wheel

vlr - Velocity left rear wheel

vrr - Velocity right rear wheel

v -Velocity vector

δ

Steeringangle

β - Direction of velocity

tw-T

rack

wid

th

Center of gravity

Figure 3: A simple kinematic vehicle model for translation of wheel speeds toheading changes ψ [37]. It is assumed that the vehicle moves in aplanar environment and that wheel speeds are solely in the directionthe wheels are heading. Depending on whether the steering angle δ isobserved or not, the velocity of the front or rear wheels may be usedin the calculation of heading changes.

into linear displacements relative to the ground. However, there are several sourcesof inaccuracy in the translation of the wheel encoder readings to traveled distance,velocity and heading change of the vehicle. They are [17, 37, 39]:

• wheel slips,

• uneven road surfaces,

• skidding,

• changes in wheel diameter due to variations in temperature, pressure, treadwear and speed,

• unequal wheel diameters between the left and right wheels,

• uncertainties in efficient wheelbase (track width), and

• limited resolution and sample rate of the wheel encoders.

The first three error sources are terrain dependent and occur in a non-systematicway. This makes it difficult to predict and limit their negative effect on the accuracyof the estimated traveled distance, velocity and heading. The four remaining errorsources occur in a systematic way, and their impact on the traveled distance, veloc-ity and heading estimates are more easily predicted. The errors due to changes in

Page 31: 10.1.1.63

4 VEHICLE MOTION SENSORS A11

wheel diameter, unequal wheel diameter and uncertainties in efficient wheelbasecan be reduced by including them as parameters estimated in the sensor integra-tion.

An electronic compass is an electronic device, constructed from magnetome-ters, that provides heading measurements relative to the earth’s magnetic northby observing the direction of the earth’s local magnetic field [17]. To convertthe compass heading into an actual north heading, the declination angle (i.e., theangle between the geographic and magnetic north) is needed, which is positiondependent. Thus, knowledge of the compass position is necessary to calculate theheading relative to geographic north.

Generally, the compass is constructed around three magneto-resistive or flux-gate magnetometers, together with pitch and roll sensors [18]. The pitch and rollmeasurements are needed to determine the attitude between the coordinate systemspanned by the magnetic sensors sensitivity axes and the local horizontal plane,so that the horizontal component of the earth’s magnetic field can be calculated.For a vehicle moving in a planar environment experiencing only small pitch androll angles, a compass constructed from only two magnetometers with perpendic-ular sensitivity axes lying approximately in the horizontal plane may be sufficientand cost-effective. In [18] and [40], details about compasses based on flux-gatemagnetometers can be found. A review of magnetic sensors is found in [41].

Power lines, metal structures such as bridges and buildings, along the trajectoryof the vehicle cause variations in the local magnetic field, resulting in large and un-predictable errors in the heading estimates of the compass. Therefore, the useful-ness of magnetic compasses in in-car navigation systems can be questioned [17].However, there are other applications of magnetic sensors in in-car navigation sys-tems. See [4], where magnetic sensors are used to detect the vehicle’s locationwith the help from magnets distributed along a highway.

An accelerometer provides information about the acceleration of the objectto which it is attached. More strictly speaking, an accelerometer measures theacceleration of the object to which it is attached relative to the inertial frame ofreference and projects it along its sensitivity axis. Information about an object’sorientation and rotation may be obtained by using a gyroscope, which measures theangular velocity of the object relative to the inertial frame of reference. Hence, byequipping the vehicle with inertial sensors, i.e., accelerometers and gyroscopes,information about the vehicle’s acceleration and rotation is obtained and can bemapped into estimates of the vehicle’s attitude, velocity and position.

There are many different ways to construct inertial sensors. In [18], a de-scription of common technologies and their typical performance parameters canbe found. A description of the trends in inertial sensor technology is offeredin [42]. Historically, inertial sensors have mostly been used in high-end navi-gation systems for missile, aircraft and marine applications, due to the high cost,size and power consumption of the sensors. However, with the progress in micro-electromechanical-system (MEMS) sensor technology it has become possible toconstruct inertial sensors meeting the cost and size demands needed for low-cost

Page 32: 10.1.1.63

A12 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

commercial electronics, such as vehicle navigation systems. However, the pricepaid (with currently available sensors) is a reduced performance characteristic. Anillustrative description of developments in MEMS technology and its many appli-cations are offered in [43]. In chapter 7 of [18], an introduction to the MEMSinertial sensor technology can be found. In [44], a discussion of the usefulnessof MEMS sensors in vehicle navigation and their limitations is presented. Theirusefulness in navigation primarily depends on MEMS gyroscope development.

Unlike odometers, velocity encoders, and magnetic compasses, whose errorsare partly related to the terrain in which the vehicle is traveling, inertial sensors arefully self-contained. Moreover, if the inertial sensors are mounted in the packageholding the GNSS receiver, the need for an electrical connection between the nav-igation system and vehicle is reduced. Therefore the MEMS inertial sensors areattractive as a complement to the GNSS receiver, especially for third-party in-carnavigation systems which must be easy to install.

There are several error sources associated with inertial sensors which must beconsidered. The most significant inertial sensor errors can be categorized as [18,20]:

• biases,

• scale factors,

• nonlinearities, and

• noise.

The bias error occurs as non-zero output from the sensor for a zero input. Scalefactor and nonlinearity errors describe the uncertainty in linear and non-linear scal-ing between the input and output, respectively. Each of these error categories ingeneral includes some or all of the following components:

• fixed terms,

• turn-on to turn-on varying terms,

• random walk terms, and

• temperature varying terms.

The fixed terms, and to a large extent the temperature varying terms, can be esti-mated and compensated by calibration of the sensors; refer to [45–48] for severalcalibration approaches. Turn-on to turn-on terms differ from time to time whenthe sensor is turned on, but stay constant during the operation time, whereas therandom walk error slowly varies over time. The sensors’ turn-on to turn-on andrandom walk error characteristics are therefore of major concern in the choice ofsensors and information fusion method.

Page 33: 10.1.1.63

4 VEHICLE MOTION SENSORS A13

In order to measure the vehicle’s dynamics in both the long- and cross-trackdirection, a cluster of inertial sensors is needed, referred to as an inertial sen-sor assembly (ISA). Depending on the construction of the navigation system, theISA may consist of solely accelerometers, but more frequently a combination ofaccelerometers and gyroscopes is used. See [49] and [50] for examples of allaccelerometer-based navigation systems. In general, a six-degree-of-freedom ISA,i.e., an inertial measurement unit (IMU) designed for unconstrained navigation inthree dimensions, consists of three accelerometers and three gyroscopes, wherethe sensitivity axes of the accelerometers are mounted to be orthogonal and spana three-dimensional space, and the gyroscopes measure the rotation rates aroundthese axes.

4.1 Dead reckoning and inertial navigationVelocity encoders, accelerometers and gyroscopes all provide information on thefirst or second order derivative of the position and attitude of the vehicle. Further,the odometer only gives information of the traveled distance of the navigation sys-tem. Hence, except for the magnetometer, all the measurements of the sensorsin Table 2 only contain information on the relative movement of the vehicle andno absolute positioning or attitude information. The translation of these sensormeasurements into position and attitude estimates will therefore be of an integra-tive nature requiring the initial state of the vehicle to be known, and for whichthe measurement errors will accumulate with time or, for the odometer, with thetraveled distance. This translation process is generally referred to as DR, or if onlyinvolving inertial sensors inertial navigation. Precisely how these translations ofsensor measurements into information on the vehicle state are done depends onthe sensor configuration, if the navigation is done in two or three dimensions andthe constraints on the movements of the vehicle. Basically, they all include threesteps:

1. The estimation of attitude (3-dim) or heading (2-dim) of the vehicle relativethe navigation coordinate system.

2. The translation of the traveled distance, velocity and acceleration into navi-gation coordinates using the attitude or heading information.

3. The integration of traveled distance, velocity and acceleration over time toobtain position and velocity estimates in the navigation coordinate frame.

In Fig. 4, the method of DR in two dimensions is illustrated in terms of vectoraddition [10]. The position (xi, yi) of the vehicle at time i is calculated based oninformation on the heading ψi and the traveled distance `i from the last known lo-cation (xi−1, yi−1). The traveled distance of the vehicle is estimated by an odome-ter or by integrating the output of a velocity encoder over time. The heading maybe observed by measuring the speed difference between the left and right wheel, a

Page 34: 10.1.1.63

A14 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

PSfrag replacements

(x0, y0)

(x1, y1)

(x2, y2)`1

`2

x

y

ψ1

ψ2

Figure 4: Dead-reckoning in terms of vector addition. The position (xi, yi) attime i is calculated based upon information about the heading ψi andthe travelled distance `i from the last known location (xi−1, yi−1).

magnetometer (electronic compass), a gyroscope or a combination of these meth-ods and sensors. Refer to [10, 11, 36, 37] for details on how dead reckoning isdone in vehicle navigation systems.

In Fig. 5, a block diagram of a strap-down3 inertial navigation system (INS)is shown. The INS comprises two distinct parts, the IMU and the computationalunit. The former provides information on the accelerations and angular velocitiesof the navigation platform relative to the inertial coordinate frame of reference.The angular rates observed by the gyroscopes are used to track the relation be-tween the coordinate system associated with the navigation platform and the co-ordinate frame in which the system is navigating. This information is then usedto transform the specific force observed in platform coordinates into the naviga-tion frame, where the gravity acceleration is subtracted from the observed specificforce. What remains are the accelerations in navigation coordinates. To obtainthe position of the navigation platform, the accelerations are integrated twice withrespect to time; refer to [16, 18, 20, 45, 46, 51–53] for a thorough treatment of thesubject of inertial navigation. In [54], a survey of inertial systems terminology canbe found.

3The term strap-down referees to that the gyroscopes and accelerometers are rigidly attached tothe navigation platform. In a gimballed INS the sensors are mounted on a platform isolated from therotations of the vehicle [20].

Page 35: 10.1.1.63

4 VEHICLE MOTION SENSORS A15

PSfrag replacements

INS

Position

Velocity

AttitudeAttitude

CoordinateRotation

DeterminationGyro-scopes

Accelero-meters

GravityModel

IMU

Navigation Equations

∫dt

∫dt

∫dt

+ −+

Figure 5: Conceptional sketch of a strap-down INS.

The integrative nature of the navigation calculations in DR and inertial naviga-tion systems gives the systems a low-pass filter characteristic that suppresses high-frequency sensor errors but amplifies low-frequency sensor errors. This results ina position error that grows without bound as a function of the operation time ortraveled distance, and where the error growth depends on the error characteristicsof the sensors. In general, it holds that for an INS a bias in the accelerometer mea-surements causes error growth proportional to the square of the operation time,and a bias in the gyroscopes causes error growth proportional to the cube of theoperation time [44, 49, 55, 56]. The detrimental effect of the gyroscope errors onthe navigation solution is due to the direct reflections of the errors on the estimatedattitude. The attitude is used to calculate the current gravity in navigation coordi-nates and cancel its effect on the accelerometer measurements. Since in most landvehicle applications the vehicle’s accelerations are significantly smaller than thegravity acceleration, small errors in attitude may cause large errors in estimatedaccelerations. These errors are then accumulated in the velocity and position cal-culations. Hence, the error characteristics of the gyroscopes used in the IMU areof major concern when designing an INS.

To summarize, the properties of DRSs and INSs are complimentary to those ofthe GNSSs and other radio-based navigation systems. These properties are:

• They are self-contained, i.e., they do not rely on any external source of in-formation that can be disturbed or blocked.

• The update rate and dynamic bandwidth of the systems are mainly set by thesystem’s computational power and the bandwidth of the sensors.

• The integrative nature of the systems results in a position error that growswithout bound as a function of the operation time or traveled distance.

Page 36: 10.1.1.63

A16 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

Contrary to these properties, the GNSS and other radio-based navigation systemsgive position and velocity estimates with a bounded error but at relatively low rateand depend on information from an external source that may be disturbed. Thecomplimentary features of the two types of systems make their integration favor-able and if properly done results in navigation systems with higher update rates,accuracy, integrity and ability to provide a more continuous navigation solutionunder various conditions and environments.

Odometers and velocity and steering encoders have proven to be very reli-able DR sensors. For movements in a planar environment, they can provide re-liable navigation solutions during several minutes of GNSS outages. However,in environments that significant violate the assumption of a planar environment,accuracy is drastically reduced [56]. An INS constructed around a full-six-degree-of-freedom IMU does not include any assumption of the motion of the navigationsystem and therefore is independent of the terrain in which vehicle is traveling.Moreover, it provides three-dimensional position, velocity and attitude informa-tion, and if situated in the package of the GNSS receiver reduces the need forvehicle fixed sensors. In combination with decreasing cost, power consumptionand size of the MEMS inertial sensors, this makes vehicle navigation systems in-corporating MEMS IMUs attractive. However, current ultra low-cost MEMS in-ertial sensors have an error characteristic causing position errors in the range oftens of meters during 30 seconds of stand-alone operation [9, 14, 44, 57]. This isalso illustrated in Fig. 6, where the root mean square (RMS) horizontal positionerror during a 30-second GNSS signal outage in a GNSS-aided INS is shown. Inthe simulation, the IMU sensors were modeled as ideal sensors, except from hav-ing measurement noises, turn-on to turn-on and time varying biases reflect currentultra low-cost MEMS inertial sensors.

5 Vehicle models and motionsUnder ideal conditions, a vehicle moving in a planar environment experiences nowheel slip and no motions in the direction perpendicular to the road surface. Thus,in vehicle coordinates, the downward and sideways velocity components shouldbe close to zero. In [14, 44, 56], this type of non-holonomic constraint has beenapplied to the navigation solution of the vehicle-mounted GNSS-aided INSs. Theresults show a great reduction in position error growth during GNSS outages andincreased attitude accuracy when imposing non-holonomic constraints on the nav-igation solution. In Fig. 6, the reduction in error growth using non-holonomicconstraints in a GPS-aided INS using a MEMS IMU is illustrated. The case whenobserving the forward velocity from a simulated velocity encoder is also shown.In the case of both non-holonomic constraints and forward velocity aiding, errorgrowth during the outage is negligible.

From an estimation-theoretical perspective, sensors and vehicle-model infor-mation play an equivalent role in the estimation of the vehicle state [5]. If there

Page 37: 10.1.1.63

5 VEHICLE MODELS AND MOTIONS A17

300 305 310 315 320 325 3300

2

4

6

8

10

PSfrag replacements

RMS horizontal position error

m

s

NOCNHC

NHC+VA

Figure 6: Empirical root mean square (RMS) horizontal position error growthduring a 30-second satellite signal blockage in a low-cost GPS-aided INS. NOC - No constraints, NHC - Non-holonomic constraints,NHC+VA - Non-holonomic constraints and velocity aiding.

were a perfect vehicle model, such that the vehicle state could be perfectly pre-dicted from control inputs, sensor information would be superfluous. Contrarily,if there were such things as perfect sensors, the vehicle model would provide noadditional information. Neither of these extremes exists. It is clear, however,that navigation system performance can be enhanced by utilizing vehicle models.Moreover, the incorporation of a vehicle model in the navigation system may allowthe use of less costly sensors without degradation in navigation performance.

There are numerous vehicle model and motion constraints, ranging from theabove-mentioned non-holonomic constraints to more advanced models incorpo-rating wheel slip, tire stiffness, etc. Different vehicle models and constraints ofvarying complexity can be found in [5, 12, 44, 56, 58–60]. In [5], a theoreticalframework for analyzing the impact of various vehicle models is developed. Theresults show that there is a lot to gain from using more refined vehicle models, es-pecially in the accuracy of the orientation estimate. However, it is difficult to findgood vehicle models, independent of the driving situation [59]. More advancedmodels require knowledge about several parameters such as vehicle type, tires,

Page 38: 10.1.1.63

A18 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

Table 3: Bandwidth of the true motion dynamics of a land-vehicle as estimatedby [61].

Motion Bandwidth [Hz]Acceleration

x-axis (forward) < 2y-axis (sideways) < 2z-axis (downwards) < 8

Angular velocityx-axis (roll) < 8y-axis (pitch) < 8z-axis (yaw) < 2

and environmental specifics [56]. To adapt the model to different driving condi-tions, these parameters must be estimated in real-time. Alternatively, the drivingconditions must be detected and used to switch between different vehicle models.An example of this, using an interactive multimodel extended Kalman filter, canbe found in [59].

Another way to incorporate knowledge about the vehicle dynamics into thenavigation system is through pre-filtering/denoising of the sensor’s measurementsusing the efficient bandwidth of the vehicle’s motion dynamics and characteristicsof the sensor noises [61–63]. In Table 3, the bandwidth of the actual motiondynamics of a land vehicle as estimated by [61] is shown. The wider bandwidth ofthe pitch and roll angular velocity and z-axis acceleration dynamics is due to roadirregularities. In [63] and [61], these bandwidths, together with a noise model, areused to develop de-noising algorithms that are tested on three IMUs of differentquality. The results show a 56% reduction in attitude errors during GNSS outagesin the case of the MEMS IMU, and even more with high-quality IMUs. Since theattitude error of an INS is directly related to position error growth, a reduction inattitude error also implies a reduced position error. In [62], a deeper descriptionof the idea behind the de-noising approach is given together with test results on aflight-mounted GPS-aided INS. The results are similar to those in [61, 63].

6 Map information

Under normal conditions, the location and trajectory of a car is restricted by theroad network. Hence, a digital map of the road network can be used to imposeconstraints on the navigation solution of the in-car navigation system, a processreferred to as map-matching. Traditionally, map-matching has been a unidirec-tional process, where the position and trajectory estimated by the GNSS receiver,vehicle motion sensors and vehicle model information have been used as input toproduce a position and trajectory consistent with the road network of the digital

Page 39: 10.1.1.63

6 MAP INFORMATION A19

PSfrag replacements

Node (Intersection)Shape point

Node (dead-end)

PositionEstimate

arc candidatesregion

Figure 7: Road network described by a planar model. The street system is rep-resented by a set of arcs (i.e., curves in R2). Generally, a set of can-didate arcs/segments close to the position estimate are selected first,then the likelihood of the candidates is evaluated. Finally, the positionon the most likely arc (road segment) is determined.

map. With improved map quality, the possibility of a bidirectional informationflow in the map-matching has become feasible, viewing the map information as”observations” in the estimation of the information fusion [6]. This type of bidi-rectional map-matching is found in [64–66].

Commonly, the road network is represented by a planar model in the digitalmaps, where the street system is represented by a set of arcs (i.e., curves inR2) [67,68]. Each arc represents a road in the network and is assumed to be piece-wiselinear, such that it can be described by a finite set of points (see Fig. 7). The firstand last points in the set are referred to as nodes and the rest as shape points.The nodes describe the beginning and termination of the arc, indicating a start,dead-end or an intersection (i.e., a point where it is possible to go from one arc toanother) in the street system.

Matching the output of the navigation system to the road-network of the digitalmap generally involves three steps. First, a set of candidate arcs or segments areselected. Second, the likelihood of the candidate arcs/segments is evaluated usinggeometrical and topological information. Finally, the vehicle location on the mostlikely road segment is determined.

The geometrical information includes measures like closeness between theposition estimate and nearest road in the map; the difference in heading as in-dicated by the navigation system and road segments of concern; and the differ-ence in the shape of the road segments with respect to estimated trajectory. Referto [67] for a discussion and description of common measures such as point-to-point, point-to-curve, and curve-to-curve matching to extract geometrical infor-mation. The topological information criterion determines the connectivity of the

Page 40: 10.1.1.63

A20 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

candidate roads (arcs), e.g., the vehicle cannot suddenly move from one road seg-ment to another if there is no intersection point in between the segments. Thelikelihood of the road segment candidates is found by assigning different weightsto the geometrical and topological information measures and combining them. Re-fer to [10, 64, 65, 68, 69] for various weighting and combining approaches suchas belief theory, fuzzy network and state machines. In [70] a survey of the currentstate-of-the art map-matching algorithms is found, together with ideas on furtherresearch directions.

7 Information Fusion

Numerous filters can be used to fuse the information from the different informationsources into an estimate of the vehicle state: various versions of extended Kalmanfilters (EKFs) are used in [4, 36, 59, 71]; Sigma-Point filters are used in [72–74];particle filters are used in [66, 75]; a Neural Network in [76]. They all have theirpros and cons but share one common idea, to utilize the different error propertiesof the information sources to compute a reliable estimate of the vehicle state.

The filters can be used in basically two ways, a direct integration or a compli-mentary filtering approach. In the direct method, information from all sources isused as observations for a filter housing a vehicle model, relating the observationto an estimate of the vehicle’s state. The dynamics of most vehicles include highlydeterministic components, which are difficult to model in the stochastic frame-work of many filters [16]. This is avoided in the complimentary filtering approach.In the complimentary filtering, illustrated in Fig. 8, the vehicle dynamic sensors,together with the vehicle model equations (navigation equations for pure DRS orINS), are used to produce vehicle state estimates and serve as the major navigationsystem. Estimated vehicle states are mapped into predictions of the outputs fromthe other information sources. The prediction residuals are used as input to a fil-ter trying to separate the errors of the various information sources to calculate theerrors in the vehicle state estimates and the vehicle dynamic sensors outputs. Forthe filter to successfully separate the different errors, it must incorporate appropri-ate models of the different errors, and the error characteristics of the informationsources may only partly overlap. Modeling the error dynamics of the navigationsystem, rather than the vehicle motions in the fusion filter, results not only in amodel that better fits into the statistical framework but also in a smaller bandwidthof the filter, since it estimates the slowly changing errors and not the full naviga-tion stage. Hence, the noise sensitivity of the filter is reduced. In [77], a deeperdescription of the concept of complimentary filtering, together with an example ofinformation fusion in an underwater vehicle, is found.

Page 41: 10.1.1.63

7 INFORMATION FUSION A21

PSfrag replacements

VehicleDynamicsSensors

NavigationEquations

NavigationSolution

Mapping andDown sampling

AidingInformation

Sensor errors Navigation errors

−+

+Filter

Figure 8: Information fusion using a complimentary filtering approach withfeedback. The vehicle motion sensors, together with the navigationequations, provide the major navigation solution, and the other in-formation sources aid the DR/INS system through estimations andcorrections of errors in the calculated navigation solution.

7.1 Non-linear filteringThe most widely used nonlinear filtering approach, due to its simplicity, is EKFin its various varieties. The idea behind EKF is to linearize the navigation andobservation equations around the current navigation solution and turn the nonlin-ear filtering problem into a linear problem. Assuming Gaussian distributed noisesources, the minimum mean square error (MMSE) solution to the linear problemis then provided by the Kalman filter [78]. For non-Gaussian distributed noisesources, the Kalman filter provides the linear MMSE solution to the filtering prob-lem.

Unfortunately, linearization in the EKF means that the original problem istransformed into an approximated problem which is solved optimally, rather thanapproximating the solution to the correct problem. This can seriously affect the ac-curacy of the obtained solution or lead to divergence of the system. Therefore, insystems of a highly nonlinear nature and non-Gaussian noise sources, more refinednonlinear filtering approaches such as Sigma-Point filters (Unscented Kalman fil-ters), particle filters (sequential Monte Carlo methods) and exact recursive non-linear filters, which keep the nonlinear structure of the problem, may significantlyimprove system performance [73, 79]. The inherent weakness of these nonlinearfiltering approaches is the curse of dimensionality. That is, in general the computa-tional complexity of the filter grows exponentially with the dimension of the statevector to be estimated [79]. Therefore, even with today’s computational capacity,nonlinear filters can be unfeasible for navigation systems with high-dimensionalstate vectors. However, since the navigation equations in many navigation systemsare only partial nonlinear, the filtering problem can be divided into a linear andnonlinear part, where the linear part, under the assumption of Gaussian-distributednoise entries, may be solved using a Kalman filter, hence reducing the computa-

Page 42: 10.1.1.63

A22 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

tional complexity of the system [80, 81]. A short introduction to nonlinear filter-ing and the advantages and disadvantages of various algorithms are given in [79].In [66], a framework for positioning, navigation and tracking using particle filtersis developed, and its usage is illustrated through examples of car positioning bymap-matching, terrain navigation of aircraft, etc.

8 ConclusionsA survey of information sources and information fusion technologies used in in-car navigation systems has been presented. The pros and cons of the four com-monly used information sources - GNSS/RF-based positioning, vehicle motionsensors, vehicle models and map information - have been examined. Common fil-ter techniques to combine the information from different sources have been brieflydiscussed.

Summarizing the survey, the following items are likely to improve in next-generation in-car navigation systems:

• In a scenario where all GNSSs have reached their full constellations, i.e.,30 Galileo satellites, 24 GLONASS satellites, and 35 GPS satellites, hybridsystem GNSS receivers will have more than 25 satellites in view at any onetime. Thus, the risk of blockages and poor satellite constellations is highlyreduced. Three separate systems will also contribute to a higher integritylevel.

• The modernization of GNSSs with multiple civil-user frequencies, togetherwith development of low-cost multi-frequency receivers and carrier phaseaugmentation systems, will allow for decimeter-level positioning accuracyat a cost suitable for in-car navigation systems.

• Further developments in MEMS inertial sensor technology, especiallyMEMS gyroscopes, will allow for ultra low-cost micro IMUs that can bringfull 3-dimensional attitude information to in-car navigation systems.

• Refined digital maps with lane information etc. will allow map-matchingprocedures with a bidirectional information flow, not only producing a po-sition and trajectory consistent with the road network but also feeding backinformation from the map-matching to the sensor fusion.

• Increased processing power at reduced power consumption and cost levelswill allow for usage of refined vehicle models and non-linear filtering tech-nologies.

Further, until this stage both OEM and third-party in-car navigation systemsprimarily have been developed to provide positioning and route-guidance infor-mation to the user. As the technological development of in-car navigation systems

Page 43: 10.1.1.63

REFERENCES A23

progresses, two tracks can be distinguished with different target applications andconstraints on the navigation solution. One track is small handheld personal nav-igation devices, e.g., incorporated into mobile phones, used for positioning routeguidance for both pedestrian and vehicles. The second track is OEM navigationsystems, designed not only for route guidance but also to provide highly reliableinputs to advanced driver assistance and safety systems, such as automatized high-way system, lane keeping and collision avoidance These systems not only requirenavigation systems with higher accuracy, update rates and availability but alsogood integrity for fast detection of sensor and sub-system failures jeopardizing thereliability of the advanced driver assistance systems.

References[1] J. Du and M. Barth, “Bayesian probabilistic vehicle lane matching for link-level in-

vehicle navigation,” in Proc. of IEEE Int. Veh. Symp., Tokyo, Japan, June 2006, pp.522–526.

[2] ——, “Lane-level positioning for in-vehicle navigation and automated vehicle loca-tion (AVL) systems,” in Proc. of IEEE Int. Transport Sys. Conf., Washington, D.C,USA, Oct. 2004, pp. 35–40.

[3] M. Tsakiri, M. Stewart, T. Forward, D. Sandison, and J. Walker, “Urban fleet monitor-ing with GPS and GLONASS,” Navigation, J. of The Institute of Navigation, vol. 51,no. 3, pp. 382–393, Sept. 1998.

[4] Y. Yang and J. Farrell, “Magnetometer and differential carrier phase GPS-aided INSfor advanced vehicle control,” IEEE Trans. Robotics and Automation, vol. 19, no. 2,pp. 269–282, Apr. 2003.

[5] S. Julier and H. Durrant-Whyte, “On the role of process models in autonomous landvehichle navigation systems,” IEEE Trans. Robotics and Automation, vol. 19, no. 1,pp. 1–14, Feb. 2003.

[6] J. Wang, S. Schroedl, K. Mezger, R. Ortloff, A. Joos, and T. Passegger, “Lane keepingbased on location technology,” Proc. of IEEE Int. Transport Sys. Conf., vol. 6, no. 3,pp. 351–356, Sept. 2005.

[7] G. Hein, “From GPS and GLONASS via EGNOS to Galileo-positioning and naviga-tion in the third millennium,” GPS Solutions, vol. 3, no. 4, pp. 39–47, Apr. 2000.

[8] P. Enge, T. Walter, S. Pullen, C. Kee, Y. Chao, and Y. Tsai, “Wide area augmentationof the global positioning system,” Proceedings of the IEEE, vol. 84, no. 8, pp. 1063–1088, Aug. 1996.

[9] A. Brown and Y. Lu, “Preformance test results of an integrated GPS/MEMS inertialnavigation package,” in Proc. ION GNSS Conf., California,USA, Mar. 2004, pp. 1251–1256.

[10] D. Obradovic, H. Lenz, and M. Schupfner, “Fusion of sensor data in Siemens carnavigation system,” IEEE Trans. on Veh. Techn., vol. 56, no. 1, pp. 43–50, Jan. 2007.

[11] ——, “Fusion of map and sensor data in a modern car navigation system,” Journel ofVLSI Signal Processing, vol. 45, no. 1-2, pp. 111–122, Nov. 2006.

Page 44: 10.1.1.63

A24 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

[12] J. Huang and H.-S. Tan, “A low-order DGPS-based vehicle positioning system underurban enviroment,” IEEE/ASME Trans. Mechatronics, vol. 5, no. 1-2, pp. 567–575,Oct. 2006.

[13] B. Boberg, “Robust navigation,” Swedish Journal of Military Technology, no. 3, pp.23–28, 2005.

[14] S. Godha and M. Cannon, “GPS/MEMS INS integrated system for navigation in urbanareas,” GPS Solutions, vol. 11, no. 3, pp. 193–203, July 2007.

[15] J. Marias, M. Berbineau, and M. Heddebaut, “Land mobile GNSS availability andmultipath evaluation tool,” IEEE Trans. on Veh. Techn., vol. 54, no. 5, pp. 1697–1704,Sept. 2005.

[16] J. Farrell and M. Barth, The Global Positioning System and Inertial Navigation.McGraw-Hill, 1998.

[17] E. Abbott and D. Powell, “Land-vehicle navigation using GPS,” Proceedings of theIEEE, vol. 87, no. 1, pp. 145–162, Jan. 1999.

[18] D. Titterton and J. Weston, Strapdown Inertial Navigation Technology-2nd Edition.IEE, 2004.

[19] ESA, “http://www.esa.int/esana/index.html,” Sept. 2007.

[20] M. Grewal, L. Weill, and A. Andrews, Global Positioning Systems, Inertial Navigationand Integration. Wiley, 2001.

[21] F. Diggelen, “GNSS Accuracy: Lies, Damm Lies, and Statistics,” GPS World, no. 1,pp. 26–32, Jan. 2007.

[22] D. Lapucha, R. Barker, and H. Zwaan, “Wide area carrier phase positioning,” Euro-pean Journal of Navigation, vol. 3, no. 1, pp. 10–16, Feb. 2005.

[23] R. Prieto-Cerdeira, J. Samson, J. Traveset, and B. Rastburg, “Ionospheric informationbroadcasting methods for standardization in SBAS L5,” in Proc. IEEE/ION Position,Location, And Navigation Symposium, SAN DIEGO, CA, USA, Apr. 2006.

[24] K. Dixon, “Satellite positioning systems: Efficiencies, Performance and Trends,” Eu-ropean Journal of Navigation, vol. 3, no. 1, pp. 58–63, Feb. 2005.

[25] A. Gorski and G. Gerten, “Do we need augmentation systems,” European Journal ofNavigation, vol. 5, no. 4, pp. 6–12, Sept. 2007.

[26] F. Toran, J. Jantura-Traveset, R. Luca, C. Echazarreta, C. Seynat, and et al, “TheEGNOS data acces system (EDAS),” European Journal of Navigation, vol. 5, no. 3,pp. 20–25, July 2007.

[27] M. Opitz and R. Weber, “Development of a SISNeT simulation software-SISSIM,”European Journal of Navigation, vol. 4, no. 2, pp. 44–48, May 2006.

[28] R. Chen and X. Li, “Virtual differential GPS based on SBAS signal,” GPS Solutions,vol. 8, no. 4, pp. 238–244, Sept. 2004.

[29] ESA, “http://www.egnos-pro.esa.int/publications/fact.html,” Sept. 2007.

[30] P. Enge and P. Misra, “Special issue on global positioning system,” Proceedings of theIEEE, vol. 87, no. 1, pp. 3–15, Jan. 1999.

[31] P. Misra, B. Burke, and M. Pratt, “GPS performance in navigation,” Proceedings ofthe IEEE, vol. 87, no. 1, pp. 65–85, Jan. 1999.

Page 45: 10.1.1.63

REFERENCES A25

[32] H. Lee, J. Wang, C. Rizos, D. Grejner-Brzezinska, and C. Toth, “GPS/Pseudolite/INSintegration: concept and firts test,” GPS Solutions, vol. 6, no. 1–2, pp. 34–46, Oct.2002.

[33] G. Sun, J. Chen, W. Guo, and K. Ray Liu, “Signal processing techniques in network-aided positioning: a survey of state-of-the-art positioning designs,” IEEE SignalProcessing Magazine, vol. 22, no. 4, pp. 12–23, July 2005.

[34] A. Sayed, A. Tarighat, and N. Khajehnouri, “Network-based wireless location: chal-lenges faced in developing techniques for accurate wireless location information,”IEEE Signal Processing Magazine, vol. 22, no. 4, pp. 24–40, July 2005.

[35] F. Gustafsson and F. Gunnarsson, “Mobile positioning using wireless networks: pos-sibilities and fundamental limitations based on available wireless network measure-ments,” IEEE Signal Processing Magazine, vol. 22, no. 4, pp. 41–53, July 2005.

[36] R. Carlson, J. Gerdes, and J. Powell, “Practical position and yaw rate estimation withGPS and differential wheelspeeds,” in Proc. AVEC 2002 6th Int. Symp. AdvancedVehicle Control, Hiroshima, Japan, Sept. 2002.

[37] ——, “Error sources when land vehicle dead reckoning with differential wheel-speeds,” Navigation, the J. of The Institute of Navigation, vol. 51, no. 1, pp. 12–27,2004.

[38] C. Hay, “Turn, turn, turn,” GPS world, pp. 37–42, Oct. 2005.

[39] J. Borenstein and L. Feng, “Measurement and correction of systematic odometry er-rors in mobile robots,” IEEE Trans. Robotics and Automation, vol. 12, no. 6, pp.869–880, Dec. 1996.

[40] T. Peters, “Automobile navigation using a magnetic flux-gate compass,” IEEE Trans.on Veh. Techn., vol. 35, no. 2, pp. 41–47, May 1986.

[41] J. Lenz, “A review of magnetic sensors,” Proceedings of the IEEE, vol. 78, no. 6, pp.973–989, June 1990.

[42] N. Barbour and G. Schmidt, “Inertial sensor technology trends,” IEEE Sensors Jour-nal, vol. 1, no. 4, pp. 332–339, Dec. 2001.

[43] J. Bryzek, S. Roundly, B. Bircumshaw, C. Chung, K. Castellino, J. Stetter, andM. Vestel, “Marvelous MEMS,” IEEE Circuits and Devices Magazine, vol. 22, no. 2,pp. 8–28, March–April 2006.

[44] N. El-Sheimy and X. Niu, “The promise of MEMS to the navigation cummunity,”InsideGPS, pp. 46–56, March/April 2007.

[45] Chatfield, Fundamentals of High Accuracy Inertial Navigation. AIAA, 1997.

[46] R. Rogers, Applied Mathematics in Integrated Navigation systems. AIAA EducationSeries, 2003.

[47] P. Aggarwal, Z. Syed, X. Niu, and N. El-Sheimy, “Cost-efficient testing and calibra-tion of low cost MEMS sensors for integrated positioning, navigation and mappingsystems,” in Proc. XXIII FIG Congress, Munich, Germany, Oct. 2006.

[48] I. Skog and P. Handel, “Calibration of a MEMS inertial measurement unit,” in Proc.XVII IMEKO WORLD CONGRESS, Rio de Janeiro, Brazil, Sept. 2006.

[49] C. Tan and S. Park, “Design of accelerometer-based inertial navigation systems,” IEEETrans. Instrumentation and Measurement, vol. 54, no. 6, pp. 2520–2530, Dec. 2005.

Page 46: 10.1.1.63

A26 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

[50] J. Chen, S. Lee, and D. DeBra, “Gyroscope free strapdown inertial measurement unitby six linear accelerometers,” Journal of Guidance, Control and Dynamics, vol. 17,no. 2, pp. 286–290, 1994.

[51] P. Savage, “Strapdown inertial navigation integration algorithm design, part 1: attitudealgorithms,” Journal of Guidance, Control and Dynamics, vol. 21, no. 1, pp. 19–28,Jan. 1998.

[52] ——, “Strapdown inertial navigation integration algorithm design, part 2: velocityand position algorithms,” Journal of Guidance, Control and Dynamics, vol. 21, no. 2,pp. 208–221, Mar. 1998.

[53] M. Kuritsky, M. Goldstein, I. Greenwood, H. Lerman, J. McCarthy, T. Shanahan,M. Silver, and J. Simpson, “Inertial navigation,” Proceedings of the IEEE, vol. 71,no. 10, pp. 1156–1176, Oct. 1983.

[54] R. Curey, M. Ash, L. Thielman, and C. Barker, “Proposed IEEE inertial systems ter-minology standard and other inertial sensor standards,” in Proc. Position Location andNavigation Symposium, 2004. PLANS 2004, Apr. 2004.

[55] S. Sukkarieh, E. Nebo, and H. Durrant-Whyte, “A high integrity IMU/GPS navigationloop for autonomous land vehicle applications,” IEEE Trans. Robotics and Automa-tion, vol. 15, no. 3, pp. 572–578, June 1999.

[56] G. Dissanayake, S. Sukkarieh, E. Nebot, and H. Durrant-Whyte, “The aiding of alow-cost strapdown inertial measurement unit using vehicle model constraints for landvehicle applications,” IEEE Trans. Robotics and Automation, vol. 17, no. 5, pp. 731–747, Oct. 2001.

[57] X. Niu, S. Nasser, C. Goodall, and N. El-Sheimy, “A universal approach for processingany MEMS inertial sensor configuration for land-vehicle navigation,” Navigation, J.of The Institute of Navigation, vol. 60, no. 2, pp. 233–245, May 2007.

[58] D. Bevly, J. Ryu, and J. Gerdes, “Integrating INS sensors with GPS measurements forcontinuous estimation of vehicle sideslip, roll, and tire cornering stiffness,” Proc. ofIEEE Int. Transport Sys. Conf., vol. 7, no. 4, pp. 483–493, Dec. 2006.

[59] R. Toledo-Moreo, M. Zamora-Izquierdo, B. beda Miarro, and A. Gmez-Skarmeta, “High-integrity IMM-EKF-based road vehicle navigation with low-costGPS/SBAS/INS,” Proc. of IEEE Int. Transport Sys. Conf., vol. 8, no. 4, Sept. 2007.

[60] S. Julier and H. Durrant-Whyte, “Process models for the high-speed navigation ofroad vehicles,” in Proc. IEEE International Conference on Robotics and Automation,Nagoya, Japan, May 1995.

[61] K. Chiang, H. Hou, X. Niu, and N. El-Sheimy, “Improving the positioning accuracyof DGPS/MEMS IMU integrated systems utilizing cascade de-noising algorithm,” inProc.17th International Technical Meeting of the Satellite Division of the Institute ofNavigation ION GNSS 2004, Long Beach, CA, USA, Sept. 2004.

[62] J. Skaloud, A. Bruton, and K. Schwarz, “Detection and filtering of short-term (1/f)noise in inertial sensors,” Navigation, the J. of The Institute of Navigation, vol. 46,no. 2, pp. 97–108, Summer 1999.

[63] K. Chiang, C. Goodall, and N. El-Sheimy, “Improving the attitude accuracy ofINS/GPS integrated systems,” European Journal of Navigation, vol. 4, no. 2, pp. 31–40, May 2006.

Page 47: 10.1.1.63

REFERENCES A27

[64] M. El Najjar and P. Bonnifait, “A road-matching method for precise vehicle local-ization using belief theory and kalman filtering,” Auton. Robots, vol. 19, no. 2, pp.173–191, 2005.

[65] ——, “Road selection using multicriteria fusion for the road-matching problem,”Proc. of IEEE Int. Transport Sys. Conf., vol. 8, no. 2, pp. 279–291, June 2007.

[66] F. Gustafsson, F. Gunnarsson, N. Bergman, U. Forssell, J. Jansson, R. Karlsson, andP.-J. Nordlund, “Particle filters for positioning, navigation, and tracking,” IEEE Trans.on Signal Processing, vol. 50, no. 2, pp. 425–437, Feb. 2002.

[67] D. Bernstein and A. Kornhauser, An Introduction to Map Match-ing for personal navigation assistants. New Jersy TIDE Center(http://www.njtide.org/reports/mapmatchintro.pdf), 1996.

[68] M. Quddus, W. Ochieng, L. Zhao, and R. Noland, “A general map matching algorithmfor transport telematics applications,” GPS Solutions, vol. 7, no. 3, pp. 157–167, Dec.2003.

[69] S. Kim and J. Kim, “Adaptive fuzzy-network-based c-measure map-matching algo-rithm forcar navigation system,” Trans. on Industrial Electronics, vol. 48, no. 2, pp.432–441, Apr. 2001.

[70] M. Quddus, W. Ochieng, and R. Noland, “Current map-matching algorithms for trans-port applications: State-of-the art and future research directions,” ELSEVIER, Trans-portation Research Part C: Emerging Technologies, vol. 15, no. 5, pp. 312–328, Oct.2007.

[71] I. Skog and P. Handel, “A low-cost GPS aided inertial navigation system for vehicleapplications,” in Proc. EUSIPCO 2005, Antalya, Turkey, Sept. 2005.

[72] E. Shin and N. El-Sheimy, “Unscented kalman filter and attitude errors of low-costinertial navigation systems,” Navigation, J. of The Institute of Navigation, vol. 54,no. 1, pp. 1–9, Spring 2007.

[73] R. Merwe, E. Wan, and S. Julier, “Sigma-point Kalman filters for nonlinear estimationand sensor-fusion: Applications to integrated navigation,” in AIAA Guidance, Navi-gation, and Control Conference and Exhibit, Rhode Island, USA, Aug. 2004.

[74] S. Cho and W. Choi, “Robust positioning technique in low-cost DR/GPS for landnavigation,” IEEE Trans. on Veh. Techn., vol. 55, no. 4, pp. 1132–1142, Aug. 2006.

[75] N. Yang, W. Tian, Z. Jin, and C. Zhang, “Particle filter for sensor fusion in a landvehicle navigation system,” Meas. Sci. Technol., vol. 16, no. 3, pp. 677–681, Mar.2005.

[76] J. Wang and Y. Gao, “GPS-based land vehicle navigation system assisted by a low-costgyro-free INS using neural network,” Navigation, J. of The Institute of Navigation,vol. 57, no. 3, pp. 417–428, Oct. 2004.

[77] A. Pascoal, I. Kaminer, and P. Oliveira, “Navigation system design using time-varyingcomplementary filters,” IEEE Trans. on Aerospace and Electronic Systems, vol. 36,no. 4, pp. 1099–1114, Oct. 2000.

[78] T. Kailath, A. Sayed, and B. Hassibi, Linear Estimation. Prentice Hall, 1999.

[79] F. Daum, “Nonlinear filters: Beyond the Kalman filter,” IEEE Aerospace and Elec-tronic Systems Magazine, vol. 20, no. 8, pp. 57–69, Aug. 2005.

Page 48: 10.1.1.63

A28 STATE-OF-THE ART AND FUTURE IN-CAR NAVIGATION SYSTEMS – A SURVEY

[80] T. Schon, F. Gustfasson, and P.-J. Nordlund, “Marginalized particle filters for mixedlinear/nonlinear state-space models,” IEEE Trans. on Signal Processing, vol. 53, no. 7,pp. 2279–2289, July 2005.

[81] R. Karlsson, T. Schon, and F. Gustafsson, “Complexity analysis of the marginalizedparticle filter,” IEEE Trans. on Signal Processing, vol. 53, no. 11, pp. 4408–4411,Nov. 2005.

Page 49: 10.1.1.63

Paper B

A low-cost GPS aided inertial navigation system for vehicleapplications

Isaac Skog and Peter HandelPublished in Proceedings of European Signal Processing Conference 2005

Page 50: 10.1.1.63

c©2005 EURASIPThe layout has been revised

Page 51: 10.1.1.63

A low-cost GPS aided inertial navigation system forvehicle applications

Isaac Skog and Peter Handel

Abstract

In this paper an approach for integration between GPS and inertial navigation sys-tems (INS) is described. The continuous-time navigation and error equations for an earth-centered earth-fixed INS system are presented. Using zero order hold sampling, the set ofequations is discretized. An extended Kalman filter for closed loop integration between theGPS and INS is derived. The filter propagates and estimates the error states, which are fedback to the INS for correction of the internal navigation states. The integration algorithmis implemented on a host PC, which receives the GPS and inertial measurements via theserial port from a tailor made hardware platform, which is briefly discussed. Using a bat-tery operated PC the system is fully mobile and suitable for real-time vehicle navigation.Simulation results of the system are presented.

1 IntroductionToday many vehicles are equipped with global positioning system (GPS) receivers that con-stantly can provide the driver with information about the vehicles position with an accuracyin the order of 15-100 meters [1]. However, the GPS receiver has two major weaknesses.The slow update rate, only once a second for most receivers and the sensitivity to block-ing of the satellite signals. An inertial navigation system (INS) is an alternative tool forpositioning and navigation. A classical reference on low-cost INS for mobile robot appli-cations is [2]. In the opposite of the GPS receiver an INS is self contained and can provideposition, velocity and attitude estimates at a high rate, typically 100 times per second [3].However, due to the integrative nature of the INS, low frequency noise and sensor biases areamplified. The unaided INS may therefore have unbounded position and velocity errors [2].These complementary properties make an integration of the two systems suitable, which isthe topic of this paper.

The primary motivation for the reported work is the in-house need for a GPS aided INStest-bed for education and research in the area of vehicle navigation and performance analy-sis. A goal is to develop a hardware platform and additional software, which together witha standard host-computer will work as a basic GPS aided INS. From the software skeletonthe student/researcher can then build an application meeting their demands. Related work

Page 52: 10.1.1.63

B2 A LOW-COST GPS AIDED INERTIAL NAVIGATION SYSTEM FOR VEHICLE APPLICATIONS

KF

H

INS

+

-

INS input

GPS input

Navigationoutput

Figure 1: Loosely coupled position aided closed loop implementation of a GPSaided INS system. KF denotes the extended Kalman filter, and H themap between navigation output and GPS data.

do exist, for example in [4] a field evaluation of a low-cost GPS aided INS installed in acar is presented. In [4], the strap-down INS is integrated with two different GPS solutions(pseudo range and carrier phase differential GPS, respectively) using a Kalman filter.

In this paper a loosely coupled position aided method is proposed which allows thedesigner to keep the costs low by using an off-the-shelf GPS receiver that provides positionestimates employing NMEA (National Marine Electronics Association) data transmissionprotocol and sentence format. In Section 2, the INS equations and the corresponding errormodels are introduced. Next the navigation dynamics are discretized in Section 3. Section 4presents an indirect extended Kalman filter (EKF) for the integration between the GPS andINS data. The INS provides the reference trajectory and output. The EKF then estimatesthe errors, which are fed back to the INS for correction of its internal states, resulting ina closed loop integration, see Figure 1. Implementation aspects, simulations results andconclusions are presented in Section 5.

2 Navigation DynamicsA strap-down INS comprises two distinguished parts. The inertial measurement unit (IMU)housing the accelerometers and gyros. The computational part, consisting of several differ-ential equations, translates the measurements into position, velocity and attitude estimates.The calculations are performed in two steps. From the gyro measurements the directionalcosine matrix relating the body coordinate frame to the used navigation frame is propa-gated. The coordinate rotation matrix is then used when solving the differential equationsrelating accelerations in the body frame to the navigation coordinate system. An earth-centered earth-fixed (ECEF) navigation coordinate system implementation of the INS hasthe advantage of producing positions estimate in the same coordinate system as used by theGPS system, which simplifies the integration between the two systems [1].

2.1 Navigation equationsThe continuous-time navigation equations in the ECEF frame are [5]

Page 53: 10.1.1.63

2 NAVIGATION DYNAMICS B3

re = ve

ve = Reb f

b − 2Ωeie v

e + ge (1)

Reb = R

eb Ω

beb

where re and ve denote the position and velocity in 3-dimensional ECEF coordinates, re-spectively. The superscripts e, b and i (that will be used below) are used to denote in whichcoordinate frame a variable is resolved in, that is the ECEF, body or inertial frame. Further,f b is the measured acceleration in the body-frame, ge is the position dependent, but knownearth acceleration in ECEF coordinates, that may be compensated for. The rotation matrix,Re

b transforms a vector in the body frame to the ECEF frame. Although Reb has nine el-

ements, it has only three degrees of freedom and can be uniquely described by the threeEuler angles, in the sequel gathered in the vector θ [6]. The matrices Ωb

eb and Ωeie are the

skew-symmetric matrix representations of the angular rates ωbeb and ωe

ie, defined such thata× ωb

eb = Ωbeb a and a× ωe

ie = Ωeie a, where a is a 3× 1 dimensional vector. The matrix

Ωbeb reads

Ωbeb =

0 −ωb

ebzωb

eby

ωbebz

0 −ωbebx

−ωbeby

ωbebx

0

(2)

where the elements ωbebx

, ωbeby

and ωbebz

are the angular rates of the body (vehicle) framerelative to the ECEF frame, resolved in the body navigation frame. The matrix, Ωe

ie has thestructure of (2) with the components of ωb

eb replaced by the corresponding components ofthe earth rotational rate ωe

ie. Since variations in the earth rotational rate ωeie are neglectable,

Ωeie is assumed constant and known, while Ωb

eb depends on the body to ECEF angularrates, ωb

eb = [ωbebx

ωbeby

ωbebz

]∗ and thus is time-varying. Here (·)∗ denotes the transposeoperation. The body to ECEF angular rates are obtained by subtracting the angular rate ofthe earth, resolved in body coordinates from the gyro outputs ωb

ib, that is

ωeeb = ωb

ib − Rbe ω

eie (3)

where the rotation matrix from the ECEF to body coordinates is

Rbe = (Re

b)−1 = (Re

b)∗ (4)

The last equality is a result of the fact that the directional cosine matrix is an orthonormalmatrix (that is, Re

b Re ∗b = I).

With reference to Figure 1, the INS inputs are the 3-dimensional measured accelerationin the body frame f b and the 3-dimensional angular rates of the body frame with respectto the inertial frame of reference ωb

ib. Further the navigation outputs of Figure 1 are theposition, velocity and Euler angles of (1).

2.2 Error equationsEven though the inertial instruments have been calibrated the measured IMU signals willbe erroneous, due to environmental variations and instrument degradation. As a result,there are biases in the position and velocity estimates as well as a misalignment betweenthe estimated and true coordinate rotation matrices. The IMU measurement errors can bemodelled as a random level, and white Gaussian noise [5], describing the bias and the

Page 54: 10.1.1.63

B4 A LOW-COST GPS AIDED INERTIAL NAVIGATION SYSTEM FOR VEHICLE APPLICATIONS

measurement noise, respectively. Here the IMU sensors are assumed to be the only noisesources in the system. Hence, the noise enters the system equations only through the attitudeand velocity state, that is the two last equations in (1). Defining the error state vector δx(t)and the measurement noise vector uc(t) as

δx(t) = δre ∗ δve ∗ ε∗ δf b ∗ δωb ∗ib ∗ (5)

uc(t) = u∗acc(t) u∗

gyro(t) ∗ (6)

where δre denotes the error in position, et cetera. The vector ε is the small angle rotationsaligning the actual navigation frame to the computed one. Further, uacc(t) denotes theaccelerometer noise and ugyro(t) the gyro noise, respectively. Then, if neglecting gravityerrors, the navigation error equations can be written as [5]

δx(t) = F(t) δx(t) + G(t)uc(t) (7)

where F(t) is the 15 × 15 matrix

F(t) =

03 I3 03 03 03

03 −2Ωeie −Fe Re

b 03

03 03 −Ωeie 03 Re

b

03 03 03 03 03

03 03 03 03 03

(8)

and G(t) is of size 15 × 6

G(t) =

03 03

Reb 03

03 Reb

03 03

03 03

(9)

The error equations (7) are time-varying, since Reb depends on the attitude and Fe (as

defined below) on the acceleration of the vehicle. In (8), I3 (03) denotes the unity (zero)matrix of order 3 and Fe is the skew symmetric matrix, defined as

Fe =

0 −fe

3 fe2

fe3 0 −fe

1

−fe2 fe

1 0

(10)

where fe` denotes the acceleration along the `:th coordinate axis in the ECEF frame.

The constructed IMU platform houses three separate accelerometers and gyros, there-fore the sensor noises are assumed uncorrelated [7]. However, the accelerometers respec-tively gyros are of the same model and thus assumed to have similar noise characteristics.Let σ2

acc and σ2gyro denote the variance of the accelerometer and the gyro noise, respec-

tively. Then the covariance matrix, Qc(t) of the Gaussian measurement noise uc(t) in (6)is given by

Euc(t+ τ)u∗c(t)= σ2

acc I3 03

03 σ2gyro I3 δ(τ)4

=Qc(τ) (11)

where δ(τ) is the Kronecker delta.

Page 55: 10.1.1.63

3 DISCRETIZATION B5

3 DiscretizationThe implementation of a GPS aided INS system requires that the navigation and error equa-tions are discretized. First the navigation equations are discretized, where special care istaken to preserve the properties of the rotation matrix. Next the zero-order-hold samplingof the error equation is described.

3.1 Discrete time navigation equationsZero-order sampling of the position and velocity equations in (1) results in

rek+1 = r

ek + Ts v

ek (12)

vek+1 = v

ek + Ts (Re

b,k fbk − 2Ωe

ie vek + g

e) (13)

When discretizing the attitude equation in (1) care must be taken so that the orthogonalityconstraints of the directional cosine matrix are maintained. Let Ts denote the samplinginterval and assume that Ωb

eb is constant. Then the matrix taking the solution of the attitudedifferential equation from time instant k Ts to (k+1)Ts is exp(Ωb

eb Ts). Hence, the attitudeequations can be approximated by

Reb,k+1 = R

eb,k exp(Ωb

eb Ts) (14)

By expanding the matrix exponential into an (n, n) Pade approximation the orthogonalityconstraints of the rotation matrix are preserved [1]. Using a (2, 2) Pade approximation thediscrete attitude equation becomes

Reb,k+1 = R

eb,k(2I3 + Ω

beb Ts)(2I3 − Ω

beb Ts)

−1 (15)

3.2 Discrete time error equationsHaving a continuous-time equation as in (7) with a known solution at time t0, the solutionat a time t > t0 can be represented as [8, 9].

δx(t) = Φ(t, t0) δx(t0) + t

t0

Φ(t, τ)G(τ)uc(τ)dτ (16)

where the state transition matrix Φ(t, t0) is defined as the unique solution to ∂Φ(t, τ)/∂t =F(t)Φ(t, τ). If the state transition matrix F(t) in (8) is assumed time invariant, the ho-mogenous differential equation has the solution of the matrix exponential function, that isΦ(t, τ) = exp (F · (t − t0)) [9]. In the case of F(t) being time varying, F(t) can beapproximated as a constant matrix F between the sampling instants, if the sample rate ishigh compared to the rate of change in F(t). Using the power series definition of the matrixexponential, the state transition matrix between time instants kTs and (k + 1)Ts can beapproximated as

Φ((k + 1)Ts, kTs) ≈ I15 + F(kTs)Ts (17)

Hence, the discrete-time error equation becomes

Page 56: 10.1.1.63

B6 A LOW-COST GPS AIDED INERTIAL NAVIGATION SYSTEM FOR VEHICLE APPLICATIONS

δxk+1 = Ψkδxk + ud,k (18)

where the state transition matrix Ψk = Φ((k + 1)Ts, kTs) is approximated as in (17) andthe discrete-time process noise, uk is

ud,k = (k+1)Ts

kTs

Φ((k + 1)Ts, s)G(s)uc(s)ds (19)

Since ud,k is a linear combination of Gaussian noise, it is Gaussian distributed and de-scribed by its first and second order moments. The mean of ud,k is zero, since uc(t) isassumed zero mean. Applying the definition of covariance and assuming Ts small, thecovariance of the discrete-time noise Qd,k can be approximated as [1]

Qd,k ≈ G(kTs)Qc(kTs)G∗(kTs)Ts

= diag(03, σ2acc I3, σ

2gyro I3,06) (20)

where diag(·) denotes a block diagonal matrix. The last equality is a result of the orthonor-mality property of the rotation matrix Re

b , and that Qc(t) is a diagonal matrix accordingto (11).

The definition of the state observation equation is straightforward since the GPS po-sition estimate is used, and not the pseudo ranges. Let δy be the difference between theGPS and INS position estimate and wd,k the error in the GPS position estimates. Then theobservation equation can be written as

δyk = Hkδxk + wd,k (21)

with the state observation matrix Hk of size 3 × 15, defined as

Hk = [I3 03×12], k = n `, n = 1, 2, 3...03×15, otherwise

(22)

where ` denotes the ratio between the INS and GPS sampling frequency.

4 Extended Kalman FilteringThe discrete non-linear navigation equations (12), (13) and (15) can be written as

zk+1 = c(zk,ak) + u′k (23)

where c(·, ·) denotes the dynamics, zk is the navigation system outputs: position, velocityand Euler angles defining the rotation matrix Re

b , that is the 9-element vector

zk = re ∗k ve ∗

k θ∗k ∗ (24)

Further, the navigation system input is the 6-element vector ak which contains the inputs tonavigation system, accelerations and angular rates, that is

ak = f b ∗k ωb ∗

ib, k ∗ (25)

Page 57: 10.1.1.63

4 EXTENDED KALMAN FILTERING B7

The vector u′k is the measurement noise of the navigation inputs. Linearization of the

navigation equations (23) are first done around a known nominal trajectory, resulting in alinear model for the perturbations away from the true trajectory. To the linear error equationsthe standard Kalman filter is applied. Then substituting the nominal trajectory with that ofthe INS estimated trajectory results in an extended Kalman filter. Consider the true statevector zk and the measured input ak to the system written as

zk = znomk + δzk (26)

ak = anomk + δak (27)

where znomk and anom

k are the nominal trajectory and input, respectively. The quantity δzk

is the perturbation away from the true trajectory and δak the bias of the measurements.Assuming that δzk and δak are small and applying a first order Taylor series expansion ofc(z,a), equation (23) can be approximated as

znomk+1 + δzk+1 ≈ c(znom

k ,anomk ) + C1,k δzk + C2,k δak + u

′k (28)

where

C1,k =∂c(z,a)

∂z z=znomk

C2,k =∂c(z,a)

∂a a=anomk

(29)

The Jacobians of c(z, a) are updated with nominal trajectory and input for each sample.Choosing znom

k and anomk to fulfill the deterministic difference equation

znomk+1 = c(znom

k ,anomk ) (30)

and substituting (30) into (28) results in a linear model for the error δzk, that is

δzk+1 = C1,k δzk + C2,k δak + u′k (31)

Note that δxk = δz∗k δa∗

k ∗, and thus it becomes clear that C1,k and C2,k correspondto the upper part of the navigation error state transition matrix Ψk. The lower 6 × 6 blockmatrix of Ψk is a description of how the IMU biases δak develop with time. Since this is alinear model the standard Kalman filter equations can be applied to estimate δxk [9]. TheKalman filter equations read δz−

k+1

δa−k+1 = Ψk δzk

δak (32)

δzk

δak = δz−k

δa−k +Kf,k yk − Hk znom

k

anomk − Hk δz−

k

δa−k (33)

Kf,k = P−k H

∗k (Hk P

−k H

∗k + Rd,k)−1 (34)

Pk = (I − Kf,k Hk)P−k (35)

P−k+1 = Ψk Pk Ψ

∗k + Qd,k (36)

Here δak denotes the estimated biases in the measurements, et cetera. Variables with aminus sign, (·)− are predicted values, and those with superscript nom the one obtainedfrom (30). The matrix Rd,k is the covariance matrix of the error wd,k in the GPS position

Page 58: 10.1.1.63

B8 A LOW-COST GPS AIDED INERTIAL NAVIGATION SYSTEM FOR VEHICLE APPLICATIONS

No GPS data available. (k 6= 100, 200, ...)a−

k = ak + δa−

k

z−k+1= c(z−k , a

k )δa−

k+1= [Ψk]10:15,10:15 δa

k

P−

k+1= Ψk P−

k Ψ∗

k + Qd,k

GPS data available. (k = 100, 200, ...)Kf,k = P−

k H∗

k (Hk P−

k H∗

k + Rk)−1

[δzk

δak

]=

[09×1

δa−

k

]+ Kf,k

(yk − Hk

[z−k

06×1

])

zk = z−k + δzk

ak = ak + δak

Pk = (I − Kf,k Hk)P−

k

z−k+1= c(zk, ak)

δa−

k+1= [Ψk]10:15,10:15 δak

P−

k+1= Ψk Pk Ψ∗

k + Qd,k

Table 1: The algorithm for integration between GPS and INS data, with a ratiobetween the sample rates equal to 100 times.

estimates yk. Now adding znomk to both sides of equation (32) and substituting znom

k withthe current estimate in all equations result in an extended Kalman filter, where the time andfilter update for the estimates are given below

z−k+1 = c(zk, ak) (37)

δa−k+1 = [Ψk]10:15, 10:15 δak (38) δzk

δak = δz−k

δa−k + Kf,k yk − Hk z−

k

06×1 (39)

The solution to (37) is provided by the INS, since this corresponds to the navigation equa-tions. The vector ak is the estimate of the true IMU-signal obtained by subtracting theestimated bias from the measured IMU signal. The only obstacle is the time update of nav-igation state errors δzk. If the estimated navigation error states are fed back to the INS forcorrection of the INS internal states, the corresponding error states can be set to zero [6].Hence, δz−

k = 09×1. The final algorithm for the integration is given in Table 1.

5 Design and ConclusionsDiscrete navigation equations for a direct ECEF INS implementation and the correspondingerror model have been derived. Further, an indirect extended Kalman filter algorithm forintegration between the position estimates from an off-the-shelf GPS receiver and the INShas been presented.

Page 59: 10.1.1.63

5 DESIGN AND CONCLUSIONS B9

PSfrag replacements

µCGPS Host PC

IMU

RS232 RS232

Figure 2: Block diagram of the hardware.

5.1 Hardware DesignA GPS aided INS platform has been developed in-house, consisting of an off-the-shelfGPS receiver and an in-house IMU platform. The IMU platform comprises state-of-the-artMEMS gyros and accelerometers, and a micro-controller to control the data acquisition.The micro-controller controls the GPS-receiver via an RS232 serial interface. The GPS andINS data are synchronized and sent over a second RS232 serial interface to the host PC, seeFigure 2. Using a battery operated PC the system is fully mobile and able to perform real-time signal processing [7]. However, at current state procedures for calculating the differentcalibration parameters are yet to be implemented and therefor no field tests are available.Below follows a short evaluation of the system for simulated IMU data, corresponding to atypical driving scenario.

5.2 Simulation resultsThe superiority of the GPS aided system over traditional GPS is illustrated in Figure 3. InFigure 3 the dashed trajectory is the position estimates generated by simulated data as inputto the GPS aided INS system. The shown specks are the GPS position and the solid lineis the true trajectory. A ratio of 100 times was used between the INS and GPS sampleratio and the GPS position estimates had a standard deviation of ten meters. The biases ofthe accelerometers and gyros were in the order of 1-2 cm/s2 respectively 5-10 /h. Notsurprisingly, the GPS aided system clearly outperforms the GPS-system.

Our current work is focused on studying and implementing different sensor error mod-els and calibration methods, making the test-bed available for field tests. More detailedperformance evaluations and results from field tests will be reported elsewhere.

Page 60: 10.1.1.63

B10 A LOW-COST GPS AIDED INERTIAL NAVIGATION SYSTEM FOR VEHICLE APPLICATIONS

0 50 100 150 200 250

−50

0

50

100

150

PSfrag replacements

Nor

th[m

]

East [m]

True trajectory

INS/GPS estimate

GPS reading

Figure 3: Estimated and true trajectory of a typical driving sequence. First thecar is stationary for 100 seconds. Then it makes a wide turn and accel-erates to 18 km/h, which it keeps until after the last turn. Finally thecar slows down and stops. Worth observing is that the accelerometerbiases estimates have converged already before the car starts moving,while the gyro biases have not converged until after the last turn.

Page 61: 10.1.1.63

REFERENCES B11

References[1] Q. Honghui and J. Moore, “Direct kalman filtering approach for GPS/INS integration,”

IEEE Trans. on Aerospace and Electronic Systems, vol. 38, no. 2, pp. 687–693, Apr.2002.

[2] B. Barshan and H. Durrant-Whyte, “Inertial navigation systems for mobile robots,”IEEE Trans. Robotics and Automation, vol. 11, no. 3, pp. 328–342, June 1995.

[3] S. Hong, F. Harashima, S. Kwon, S. Choi, M. Lee, and H. Lee, “Estimation of er-rors in inertial navigation systems with GPS measurements,” in Proc. ISIE 2001, IEEEInternational Symposium on Industrial Electronics, Pusan, South Korea, June 2001.

[4] R. Dorobantu and B. Zebhauser, “Field evaluation of a low-cost strapdown IMU bymeans GPS,” Ortung und Navigation, no. 1, pp. 51–65, June 1999.

[5] Chatfield, Fundamentals of High Accuracy Inertial Navigation. AIAA, 1997.

[6] J. Farrell and M. Barth, The Global Positioning System and Inertial Navigation.McGraw-Hill, 1998.

[7] I. Skog, “Development of a low cost gps aided ins for vehicles,” Master’s thesis, Dept.of Signals, Sensors and Systems, Royal Institut of Technology (KTH), Sweden, 2005.

[8] K. Astrom and B. Wittenmark, Computer Controlled Systems: Theory and Design.Prentice Hall, 1984.

[9] T. Kailath, A. Sayed, and B. Hassibi, Linear Estimation. Prentice Hall, 1999.

Page 62: 10.1.1.63
Page 63: 10.1.1.63

Paper C

A Versatile PC-Based Platform For Inertial Navigation

Isaac Skog, Adrian Schumacher and Peter HandelPublished in Proceedings of IEEE Nordic Signal Processing Symposium 2006

Page 64: 10.1.1.63

c©2006 IEEEThe layout has been revised

Page 65: 10.1.1.63

A Versatile PC-Based Platform For InertialNavigation

Isaac Skog, Adrian Schumacher and Peter Handel

Abstract

A GPS aided inertial navigation platform is presented, into which further sensors suchas a camera, wheel-speed encoder etc., can be incorporated. The construction of the plat-form is described and an introduction to the sensor fusion approach is given. Results froma field-test is presented, indicating which error sources that needs to be modelled moreaccurately.

1 IntroductionThe art of car racing is not only a question of having the most highly performable car, butalso depends on the skills of the driver and the interaction between the driver and vehicle.This is a well known fact in professional car racing, such as Formula 1, where the behaviorof both the car and the driver are constantly monitored for later analysis [1]. For otherapplications, such systems are far to costly and complex. However, a GPS aided inertialnavigation system (INS) constructed around an off-the-shelf GPS receiver and a low-costinertial measurement unit (IMU) could provide a lot of information about the behavior ofthe vehicle, for an acceptable cost. Apart from the direct information (position, velocity,acceleration and attitude) calculated by the GPS aided INS, more indirect information canbe extracted as well. In [2], a vehicle movement visualizer together with a gear changedetector based on the measured acceleration and attitude is described and implemented.In [3], the road bank angle and vehicle roll are estimated with a GPS aided INS.

An inertial navigation system is a dead reckoning navigation system, where the sys-tem’s position, velocity and attitude are continuously calculated through integration of theaccelerations and angular rates measured by the IMU. However, due to the integrative na-ture of the system, the INS has poor long-term accuracy. Small errors caused by biases andnoise in the sensors accumulate with time and cause an unbounded position error. To theopposite of the INS is the GPS receiver an absolute navigation system and therefore has abounded error. However, the GPS navigation solution is noisier than that of an INS, hasa lower update rate (∼ 1 Hz) and normally does not include attitude information [4]. Byfusing data from a GPS and an INS, utilizing the two systems complimentary properties, arobust navigation system with both high accuracy and update rate may be obtained.

Page 66: 10.1.1.63

C2 A VERSATILE PC-BASED PLATFORM FOR INERTIAL NAVIGATION

During the last decade many papers about low-cost GPS aided systems for land ve-hicles have been written, see for example [5, 6] and the references therein. Most of thedescribed work focus on the implemented algorithm used in the sensor fusion, and fewgive an overview of the total system and its construction and features. This paper givesan overview and presents preliminarily results from the construction of a portable low-costGPS aided INS platform, intended to be used for example in car racing and driver training.The platform is constructed with the aim of creating a GPS aided INS application skele-ton into which further sensors such as a camera, wheel-speed encoder etc., can easily beincorporated.

The outline of the paper is as follows: first, an overview of the platform is given inSection 2, describing its major building blocks and their features. Second, in Section 3 thesensors used in the navigation system are described. Focus is on the in-house constructedIMU hardware and its synchronization with the GPS-receiver. Next, in Section 4 the soft-ware algorithm used to fuse the sensor data is briefly described. In Section 5, preliminarilyresults from a first field test are presented, indicating which error-sources that need to bemore accurately modelled. Finally, in Section 6 conclusions and areas for further work arediscussed.

2 System OverviewThe navigation platform in Figure 1 is designed with the aim of being both portable androbust, but still inexpensive. It is constructed around five blocks: signal processing, powersupply, communication, IMU/GPS and the external sensors, see Figure 2.

The heart of the navigation platform is a Pentium-M 1.7 GHz PC, 512 MB RAM, 60GB HD equipped with a 7” TFT touch screen. The PC handles all signal processing andinteraction with the user. The PC and screen together with the IMU, power supply andwireless communication modules are built into an aluminium case, resulting in a robustsystem. The power supply module allows the platform to use three different power sources:the mains outlet (230 V AC), an external 11-15 V DC source, or internal batteries. Theinternal batteries allow for 2 hours stand alone operation of the navigation platform. Thewireless communication module consists of a WLAN and GSM/GPRS connection, for real-time transmission of navigation data to remote applications as well as input from wirelesssensors. Furthermore, an external GPS receiver is connected via a micro-controller to thePC. The micro-controller synchronizes the sampling of the GPS and IMU, as described inSection 3. The described hardware platform provides a skeleton for the development of aeasy to use navigation platform.

3 SensorsThe navigation platform is designed around the IMU and a GPS-receiver. However moresensors can be incorporated into the system through the USB-ports on the front of the nav-igation platform. Here, two auxiliary sensors are under special consideration, a vehiclespeed encoder and a camera. The vehicle speed encoder gives the possibility to include avehicle model in the sensor-fusion [7], improving the system performance in the absence ofGPS-data. The camera provides visual information about the drivers reaction in differentsituations.

Page 67: 10.1.1.63

3 SENSORS C3

Figure 1: The front of the navigation platform with its touch screen. In theupper left corner there are four USB-, a RCA- and a RS232 serial-connector, for connection of external sensors, an external screen anda GPS receiver, respectively.

Page 68: 10.1.1.63

C4 A VERSATILE PC-BASED PLATFORM FOR INERTIAL NAVIGATION

PSfrag replacements IMU/GPS

IMU

GPS

µC

External sensors

USB port

Communication

WLAN GSM/GPRS

Power supply

Battery

DC-DC converter

220V to 12V

Signal processing

PC

Touch-

screen

Figure 2: Block-diagram of the navigation platform. The platform is con-structed around five modules.

With reference to Figure 3, the IMU has been constructed in-house around Micro-Electro-Mechanical System (MEMS) accelerometers and gyros from Analog-Devices. Thedouble and single axled accelerometers ADXL 203 and ADXL 103, respectively have beenmounted so that their sensitivity axes are nearly orthogonal and span a 3-dimensional space.Due to impreciseness in the construction, the sensitivity axes will not be perfectly orthog-onal. The three ADXRS 150 gyros are mounted to measure the rotational velocity aroundthe accelerometer’s sensitivity axes. This gives a six degree-of-freedom IMU capable ofmeasuring accelerations and angular rates between ±1.5[g] and ±150[/s], respectively.The sensors are controlled and sampled at a rate of 100 Hz by an AVR, ATmega 8 micro-controller, housing a built in 10-bit analog to digital converter. Further, the micro-controlleralso communicates with the GPS-receiver via a RS232 serial connection, synchronizing thesampling of the IMU and GPS. However, this synchronization does not take into accountthe processing delay inside the GPS-receiver, which may cause erroneous convergence ofthe integration algorithm [8]. The IMU and GPS data is enumerated by the controller andsent to the PC via a second RS232 serial connection.

Due to impreciseness in the mounting and construction of the MEMS sensors the IMUhas some statical errors such as misalignment between the sensitivity axes, scale factors andbiases [9]. These errors may be identified and compensated for, reducing the convergencetime as well as the complexity of the integration algorithm. A description of a suitable IMUsensor model together with an evaluation of different algorithms for estimating the modelparameters are given in [9, 10].

4 Software AlgorithmThe algorithm for fusion of the INS and GPS data has previously been presented in [11],where a more thorough description can be found. In the used integration algorithm, the iner-

Page 69: 10.1.1.63

4 SOFTWARE ALGORITHM C5

PSfrag replacements

Accelerometer x- and y-axisAccelerometer z-axis

Micro controller

Gyroscope x-axisGyroscope y-axis

Gyroscope z-axis

60m

m

60 mm

Figure 3: The inhouse constructed inertial measurement unit. In the upper partof the picture the three gyros and the double axed and single axedaccelerometer can be seen. In the lower part of the picture the micro-controller can be seen, responsible for sampling of the sensors. Alto-gether the IMU measures 60×60×25 mm.

Page 70: 10.1.1.63

C6 A VERSATILE PC-BASED PLATFORM FOR INERTIAL NAVIGATION

+

-

PSfrag replacements

GPS

IMU navigation-equations

KF

H

INS

EKF

rere

re ve Φ

estimatederrors

Outputωp

ip fp

Φ f e

Figure 4: The INS provides the main navigation solution. When GPS data isavailable the position error is estimated and used as the input to aKalman filter, estimating the navigation errors. The errors are fedback to the INS for correction of internal states.

tial navigation system provides the main navigation solution. Since the INS is an integrativeprocess the output of the INS is the actual position and a predominantly low-frequency er-ror. When a GPS position estimate is available the difference between the position estimateof the GPS and the INS is calculated. This error signal contains two noise components: thepredominantly low-frequency INS component and the predominantly high-frequency GPScomponent [6]. The error signal is fed to a Kalman filter (KF), designed to attenuate theGPS measurement error and provide an estimate of the INS errors. Hence, the KF willmainly have a low-pass characteristic. The estimated INS error state is the feedback to theINS for correction of its internal states, see Figure 4. The INS and KF together forms an in-direct extended Kalman filter (EKF), where the navigation equations are linearized aroundthe current navigation output.

The continuous Earth-Centered-Earth-Fixed (ECEF) navigation equations used in theINS system to calculate position re, velocity ve and attitude Φ from the accelerations f p

and angular rates ωpip are

re = ve (1)

ve = Rep f

p − 2Ωeie v

e + ge (2)

Rep = R

ep Ω

pep. (3)

Here and in the sequel, the superscripts e, p, and i denote in which coordinate-framea quantity is expressed, the ECEF, platform and inertial frame, respectively. Further,Re

p = Rep(Φ) denotes the directional cosine matrix transforming a vector from platform-

to ECEF-coordinates. Note that the attitude Φ can be calculated from Rep and vice versa.

Page 71: 10.1.1.63

4 SOFTWARE ALGORITHM C7

+

++ -

PSfrag replacements

Acc

Gyros

fpf e

ωpip

ωpep

ωpie

ωeie, earth

ωeie, earth

rotation

rotation

re re

re

re

ge

Rep

Rpe

Gravity

IMU

Navigation Equations

INS

Coriolis force−2Ωe

ieve

∫ t+∆t

t(·)dt

∫ t+∆t

t(·)dt

∫ t+∆t

t(·)dt

NavigationPosition

NavigationAttitude

λ latitudeϕ longitude

h height

φ rollθ pitchψ yaw

Figure 5: The block diagram corresponds to ECEF navigation equations usedin the INS.

The matrices Ωpep and Ωe

ie are the skew symmetric matrix representations of (ωpep×) and

(ωeie×), respectively. Here (×) denotes the cross-product operator. The rotational rate be-

tween the ECEF- and platform-coordinates, expressed in platform coordinates ωpep may be

calculated from the gyro measurements as ωpep = ωp

ip − Repω

eie. The earth rotational rate

ωeie is constant and may be calculated beforehand.

The interpretation of the navigation equations is illustrated in Figure 5. The angularrates measured by the gyros are used to keep track of the coordinate rotation matrix Re

b ,i.e.solving the difference equation in (3), transforming the specific-force measured in theplatform-frame into a specific-force in the ECEF-frame. Next, the gravity ge and coriolisforce 2Ωe

ieve is subtracted. Remaining is then only the acceleration of the platform. Inte-

grating the acceleration twice with respect to time, then the position in ECEF coordinatesis obtained.

Through mechanization of the navigation equations and neglecting second and higherorder terms a linear model relating the sensor errors δf p and δωp

ip to the errors δre, δve andδΦ in the output of the INS may be found. Defining the errors as the perturbation betweenthe calculated value and true value, respectively measured value and true value, then theerror equations reads

δve = δre (4)

δve = −Fe δΨ + R

ep δf

p + δge − 2Ωeie δv

e (5)

δΨ = Rep δω

pip − Ω

eie Ψ. (6)

Here Fe is the skew symmetric matrix representation of (f e×) and δge is the error in thegravity vector. Worth noting is that the error equations depend on the current navigation

Page 72: 10.1.1.63

C8 A VERSATILE PC-BASED PLATFORM FOR INERTIAL NAVIGATION

state, i.e. Rep and fe. In [11] the navigation error equations are discretized and compli-

mented with a model for how the sensor errors develop with time. A standard Kalmanfilter algorithm is applied to the error model, resulting in an indirect extended Kalman filterwhere the navigation equations are linearized around the output of the INS.

5 Results

0m 1000m

Figure 6: Estimated trajectory (blue solid line) and GPS-receiver position esti-mates (red crosses) from the field-test. The vehicle was kept station-ary (see top) for the first 30 seconds and then drove along the highwaysouthward.

In Figure 6, the estimated trajectory (blue solid line) and GPS-receiver position esti-mates (red crosses) from a field test of the navigation platform is shown. The vehicle waskept stationary for 30 seconds, then made a wide turn and headed along a highway for ap-proximately 3 minutes. No GPS outages occurred during that time, although the positiondilution of precision (PDOP) reached values as high as 40 at a few points. 72% of the timethe PDOP value was below 5, which can be considered as acceptable.

Page 73: 10.1.1.63

6 CONCLUSIONS AN FURTHER WORK C9

The IMU sensor errors were modelled as constants in the integration algorithm, i.e.abias in the measured accelerations and rotational rates. In Figure 7, the estimated sensorbiases from the field test are shown. After approximately 120 seconds, the accelerome-ter biases have converged. However, there are convergence problems for the gyro biasesand a linear growth in the heading error. Possible error sources can be identified in themisalignment of the gyros and a delay between the GPS estimates and IMU samples [8],respectively. An exact position error evaluation is not possible due to the lack of referencetrajectory data.

6 Conclusions an Further WorkA versatile GPS aided inertial navigation platform, into which more sensors easily can beincorporated has been described. The use of a standard PC as a signal processing enginegives a navigation platform with extensive processing power for a low-cost, as well as thepossibilities to run other applications. Further, the use of a PC allows the navigation soft-ware developers to develop the software modules for new sensors on their own computer,and then port it to the navigation platform without the need to consider the hardware specificproperties

Concerning the navigation algorithm, the error model needs to be extended to take intoaccount more error sources such as the sensor’s scale factors and the delay in the GPSreceiver. In addition, through pre-calibration of the IMU the misalignment between theaccelerometer and gyro sensitivity axes should be estimated and compensated.

Further work will focus on incorporating a vehicle model together with a velocity en-coder into the sensor fusing algorithm. Methods for online estimation of the GPS processingdelay will be studied.

Page 74: 10.1.1.63

C10 A VERSATILE PC-BASED PLATFORM FOR INERTIAL NAVIGATION

0 20 40 60 80 100 120 140 160 180 200−1

−0.5

0

0.5

1

0 20 40 60 80 100 120 140 160 180 200−1

0

1

2

3

4

5x 10−3

PSfrag replacements

Accelerometer biasesB

ias

[m/s

2]

Time [s]

Time [s]

x-axisy-axisz-axis

Gyro biases

Bia

s[rad/s

]

x-axisy-axisz-axis

Figure 7: Estimated accelerometer and gyro biases during the field test. Theaccelerometer biases start converging directly, while the gyro biasesare unobservable when the vehicle is stationary during the first 30seconds.

Page 75: 10.1.1.63

REFERENCES C11

References[1] L. Boland, “Formula 1 racing: The Xilinx advantage,” Xcell Journal, pp. 46–49, Fall

2003.

[2] H. Grunell, “Visualization and analysis of vehicle movement and driving performanceusing inertial navigation,” Master’s thesis, Dept. of Signals, Sensors and Systems,Royal Institut of Technology (KTH), Sweden, 2005.

[3] J. Ryu and J. Gerdes, “Estimation of vehicle roll and road bank angle,” in Proc. Amer.Cont. Conf., Boston, MA, USA, June 2004.

[4] B. Boberg, “Robust navigation,” Swedish Journal of Military Technology, no. 3, pp.23–28, 2005.

[5] R. Dorobantu and B. Zebhauser, “Field evaluation of a low-cost strapdown IMU bymeans GPS,” Ortung und Navigation, no. 1, pp. 51–65, June 1999.

[6] J. Farrell, T. Givargis, and M. Barth, “Real-time differential carrier phase GPS-aidedINS,” IEEE Trans. on Control Systems Technology, vol. 8, no. 4, pp. 709–721, July2000.

[7] G. Dissanayake, S. Sukkarieh, E. Nebot, and H. Durrant-Whyte, “The aiding of alow-cost strapdown inertial measurement unit using vehicle model constraints for landvehicle applications,” IEEE Trans. Robotics and Automation, vol. 17, no. 5, pp. 731–747, Oct. 2001.

[8] H. Lee, J. Lee, and G. Jee, “Calibration of measurement delay in global position-ing system/strapdown inertial navigation system,” Journal of Guidance, Control andDynamics, vol. 25, no. 2, pp. 240–247, Mar. 2002.

[9] A. Kim and M. Golnaraghi, “Initial calibration of an inertial measurement unit usingan optical position tracking system,” in Proc. PLANS 2004, IEEE Position Locationand Navigation Symposium, Monterey, CA, USA, Apr. 2004.

[10] I. Skog, A. Schumacher, and P. Handel, “A versatile PC-based platform for inertialnavigation,” in Proc. NORSIG 2006, Reykjavik, Iceland, June 2006.

[11] I. Skog and P. Handel, “A low-cost GPS aided inertial navigation system for vehicleapplications,” in Proc. EUSIPCO 2005, Antalya, Turkey, Sept. 2005.

Page 76: 10.1.1.63
Page 77: 10.1.1.63

Paper D

Calibration of a MEMS inertial measurement unit

Isaac Skog and Peter HandelPublished in Proceedings of XVII IMEKO World Congress 2006

Page 78: 10.1.1.63

c©2006 IMEKOThe layout has been revised

Page 79: 10.1.1.63

Calibration of a mems inertial measurement unit

Isaac Skog and Peter Handel

Abstract

An approach for calibrating a low-cost IMU is studied, requiring no mechanical plat-form for the accelerometer calibration and only a simple rotating table for the gyro calibra-tion. The proposed calibration methods utilize the fact that ideally the norm of the measuredoutput of the accelerometer and gyro cluster are equal to the magnitude of applied force androtational velocity, respectively. This fact, together with model of the sensors is used to con-struct a cost function, which is minimized with respect to the unknown model parametersusing Newton’s method. The performance of the calibration algorithm is compared with theCramer-Rao bound for the case when a mechanical platform is used to rotate the IMU intodifferent precisely controlled orientations. Simulation results shows that the mean squareerror of the estimated sensor model parameters reaches the Cramer-Rao bound within 8 dB,and thus the proposed method may be acceptable for a wide range of low-cost applications.

1 IntroductionThe development in micro-electro-mechanical system (MEMS) technology has madeit possible to fabricate cheap single chip accelerometer and gyro sensors, which havebeen adopted into many applications where traditionally inertial sensors have been toocostly. For example the MEMS sensors have made it possible to construct low cost globalnavigation satellite system (GNSS) aided inertial navigation systems (INS) for monitoringvehicle behavior [1]. The obtained accuracy and convergence time of a GNSS aided INS ishighly dependent on the quality of the IMU sensors output [2], and therefore a calibrationof the IMU is critical for the over all system performance.

Traditionally the calibration of an IMU has been done using a mechanical platform,turning the IMU into different precisely controlled orientations and at known rotationalvelocities [3–5]. At each orientation and during the rotations the output of the accelerom-eters and gyros are observed and compared with the precalculated gravity force androtational velocity, respectively. However, the cost of a mechanical platform can manytimes exceed the cost of developing and constructing a MEMS sensor based inertialmeasurement unit. Therefore, in [6] a calibration procedure using a optical trackingsystem is studied. In [4, 7] calibration procedures for the accelerometer cluster, where

Page 80: 10.1.1.63

D2 CALIBRATION OF A MEMS INERTIAL MEASUREMENT UNIT

the requirements of a precise control of the IMU’s orientation is relaxed are proposed.These calibration methods utilize the fact that ideally the norm of the measured outputof the accelerometer and gyro cluster should be equal to the magnitude of the appliedforce and rotational velocity, respectively. However there are one major disadvantagewith such a method; not all sensor parameters of the IMU are observable. This impliesthat these parameters (errors sources) most be taken into account in the integration of theIMU and GNSS data, increasing the computational complexity of the data fusion algorithm.

In this paper the problem of calibrating a low cost IMU when the precise orientationof the IMU is unknown is studied. In Section 2, a sensor model applicable both to the ac-celerometer and gyro sensor cluster are described and related to the in-house constructedIMU. Next, in Section 3 the estimation of the model parameters when the precise orienta-tion of the IMU is unknown is studied and a cost function is proposed. The cost functionis numerically minimized using Newton’s method. In Section 4, the Cramer Rao lowerbound (CRLB) for the parameter estimation problem is derived when the orientation of theplatform is precisely controlled, serving as a bound when evaluating the performance of theestimator. In Section 5, results from a Monte Carlo simulation of the proposed calibrationapproach is presented. Moreover, the in-house IMU is calibrated, and the estimated modelparameters are examined. The conclusions are drawn in Section 6.

2 Sensor Error Model

An inertial measurement unit has been constructed around MEMS accelerometers and gyrosfrom Analog-Devices, see Figure 1. The double and single axed accelerometers ADXL 203and ADXL 103, respectively have been mounted so their sensitivity axes xa, ya, za spana three dimensional space. The three ADXRS 150 gyros are mounted to measure the an-gular velocities ωx, ωy, ωz around the accelerometers sensitivity axes, see Figure 1.2(a).This gives a six degree-of-freedom IMU capable of measuring accelerations and angularrates between ±15[m/s2] and ±150[/s], respectively. Ideally, the sensor sensitivity axesshould be orthogonal, but due to the impreciseness in the construction of the IMU this isseldom the case [6]. If the nonorthogonal sensitivity axes of the accelerometer clustersdiffer only by ”small” angles from the orthogonal set of platform coordinate axes, see Fig-ure 1.2(b), the specific force in accelerometer cluster coordinates can be transformed intospecific force estimates in platform coordinates as [8]

sp = T

pa s

a, Tpa =

1 −αyz αzy

αxz 1 −αzx

−αxy αyx 1

(1)

where sp and sa denote the specific force in platform and accelerometer coordinates, re-spectively. Here αij is the rotation of the i-th accelerometer sensitivity axis around the j-thplatform axis. By defining the platform coordinate system so that the platform coordinateaxis xp coincides with the xa accelerometer sensitivity axis, and so that the yp axis is lyingin the plane spanned by xa and ya the angles αxz, αxy, αyx become zero. That is (1) isreduced to

Page 81: 10.1.1.63

2 SENSOR ERROR MODEL D3

PSfrag replacements

Accelerometer x- and y-axisAccelerometer z-axis

Micro controller

Gyroscope x-axisGyroscope y-axis

Gyroscope z-axis

60m

m

60 mm

Figure 1: The in-house constructed inertial measurement unit. In the upper partof the picture the three gyros and the double axed and single axedaccelerometer can be seen. In the lower part of the picture the micro-controller can be seen, responsible for sampling of the sensors. Alto-gether the IMU measures 60×60×25 mm.

Page 82: 10.1.1.63

D4 CALIBRATION OF A MEMS INERTIAL MEASUREMENT UNIT

PSfrag replacements

xa

ya

za

ωx

ωy

ωz

(a) Accelerometer and gyro sensitivity axes.

PSfrag replacements

xp

yp

zp

xa

ya

za

αxy

αxzαyz

αyx

αzx

αzy

(b) Accelerometer and platform coordinate axes.

Figure 2: The accelerometer sensitivity axes xa, ya, za are mounted to spana 3-dim space and the gyros to measure the angular velocitiesωx, ωy, ωz around these axes. The nonorthogonal axes of ac-celerometer cluster can be aligned with the orthogonal platform axesxp, yp, zp through the six angles αxy, αxz, αyx, αyz, αzx, αzy.

sp = T

pa s

a, Tpa =

1 −αyz αzy

0 1 −αzx

0 0 1

. (2)

Because the platform coordinate axes already have been defined, six small rotationsaround the platforms axes are required to define the rotation from the gyro input axes to theplatform axes. That is, three rotations are required to make the sensitivity axes of the gyrocluster orthogonal and three rotations are needed to align the orthogonal coordinate axeswith the platform coordinate axes. The relationship reads

ωpip = T

pgω

gig, T

pg =

1 −γyz γzy

γxz 1 −γzx

−γxy γyx 1

. (3)

Here γij is the small rotation of the i-th gyro sensitivity axis around the j-th platform axis.This may equivalently be written as

ωpip = R

poT

ogω

gig, T

og =

1 −γyz γzy

0 1 −γzx

0 0 1

(4)

where Tog transforms the nonorthogonal gyro sensitivity axes into a set of orthogonal

coordinate axes. The matrix Rpo denotes the directional cosine matrix transforming the

Page 83: 10.1.1.63

2 SENSOR ERROR MODEL D5

PSfrag replacements

V (f) [V olt]

f [g]

bias

∆V

∆f

non− linearity

Kai = ∆V∆f

Figure 3: The relationship between the output voltage of the accelerome-ter(gyro) and the measured force(angular rate) is modelled as a linearfunction, describing the scaling and bias of the sensors.

angular velocities in orthogonal sensitivity axes coordinates into platform coordinates.

The MEMS sensors output a voltage proportional to the physical quantities sensed bythe sensors, acceleration and angular rates, respectively. The typical relationship betweenthe output voltage and the physical quantity acting along the sensor sensitivity axes is givenby the manufactures data sheet, but the true scaling varies between different specimens andwith the input signal (due to inherent nonlinearities of the sensors). Moreover, there is oftena small bias in the sensor output signal, that is even though there is no force acting onto thesensor, the sensors produces a non-zero output, see Figure 3. For the MEMS sensors usedin our application the nonlinearities are in the order 0.1% of a best fit to a straight line andmay therefore be neglected. Introduce the accelerometer scale factor matrix Ka and biasvector ba defined as

Ka = diag(kxa , kya , kza), ba = [ bxa bya bza ]T (5)

where kia and bia are the unknown scaling and bias of the i-th accelerometer output, re-spectively. Further (·)T denotes the transpose operation and diag(·) the diagonal matrixwith the elements given within the parentheses. The measured output of the accelerometer

Page 84: 10.1.1.63

D6 CALIBRATION OF A MEMS INERTIAL MEASUREMENT UNIT

cluster may then be modelled as [4]

sa = Ka (Tp

a)−1s

p + ba + va (6)

where sa = (Tpa)−1sp from (2) was employed. In (6), va is a noise term reflecting the

measurement noise from the sensors. Applying the same model to the MEMS gyros, theoutput from the gyro-cluster may be written as

ωgig = Kg ω

gig + bg + vg

= Kg (Tog)−1

Rop ω

pip + bg + vg (7)

where Kg and bg are the scale factor matrix and bias vector of the gyro-cluster, respec-tively. Further ωp

ip is the true rotational rate of the IMU platform with respect to theinertial frame of reference and vg is the gyro measurement noise. In the second equalityin (7) the notation Ro

p = (Rpo)−1 has been used to denote the directional cosine matrix,

rotating a vector from platform coordinates to the coordinate system associated with theorthogonal gyro sensitivity axes. Worth noting is that the misalignment matrices Tp

a andTo

g are constant matrices only dependent on the physical mounting of the components.Ka,Kg,ba and bg may be split into a static part, a temperature varying and a randomdrift part [9]. The temperature varying and random drift part must be taken into accountby the integration algorithm, fusing the GNSS and IMU data. Therefore the prime goalof the calibration is to estimate Tp

a and Tog and the static parts of the scale factors and biases.

Both the accelerometer and gyro cluster model fit into the more general signal modeldescribed by Figure 4. Here the input uk corresponds to the specific force sp at time k inthe accelerometer cluster model or the angular velocity ωo

ip = Rop ω

pip in the gyro cluster

model.

3 CalibrationTraditionally, a mechanical platform rotating the IMU into different precisely controlledorientations and angular rates has been used to calibrate IMU’s. Then, observing the outputyk and the precalculated specific force or angular velocity uk acting upon the IMU for 12or more different orientations and rotation sequences, respectively it is straightforward toestimate the misalignment, scaling and bias [3–5]. Note, that there are 9 and 12 unknownsin the signal models, respectively - three scale factors, three biases, three orthogonalrotations and in addition for the gyro cluster the three rotations aligning the orthogonalgyro coordinate axes with the platform axes. The cost of a mechanical platform oftenexceeds the cost of developing and constructing a MEMS sensor based IMU. Thereforea calibration procedure is desirable where the requirements of a precisely controlledorientation of the IMU can be relaxed.

Based upon the signal model in Figure 4 the natural estimator for the sought input uk

based on the sensor output yk is

uk = h(yk, θ) = TK−1(yk − b) (8)

Page 85: 10.1.1.63

3 CALIBRATION D7

PSfrag replacements

Soughtphysicalquantity

uk Sensoroutput

yk

vk

KT−1

b

Figure 4: Sensor model including misalignments T−1, scale factors K, biasesb, and measurement noise vk.

where the sought parameters are collected in the parameter vector

θ = kx ky kz αyz αzy αzx bx by bz σ2 T. (9)

In order to have a more unified notation throughout the paper the noise variance has beenincluded in the parameter vector in (9). However, the proposed estimator does not dependon the noise variance and it can therefore be omitted in equations (8)-(15).

Ideally, independent of the orientation of the IMU, the magnitude of the measured grav-ity force and angular velocity should be equal to the magnitude of the apparent gravity forceand applied angular velocity, respectively. Therefore, the squared error between the squaredmagnitude of the input uk and the squared magnitude of the output from the compensatedIMU output may serve as a cost function when calibrating the IMU. That is

θ = argminθ

L(θ) (10)

where

L(θ) =

K−1k=0

(‖uk‖2 − ‖h(yk, θ)‖

2)2. (11)

Here, K = M N , where M is the number of orientations or rotations that the platformis exposed too and N the number of samples taken during each rotation or at each orien-tation. Still, since there are nine unknowns the platform must be exposed to nine or moreorientations and rotations, respectively. However, the demand of a precise control of theorientation is relaxed. Worth noting when calibrating the gyros is that

‖uk‖2 = ‖ωo

ip‖2 = ‖Ro

p ωpip‖

2 = ‖ωpip‖

2 (12)

where in the last equality the fact that the directional cosine matrix Rop is an orthonormal

matrix, ie (Rop)T (Ro

p) = I, has been used. Therefore the three Euler angles relatingthe orthogonal coordinate axes of the gyro cluster and the platform coordinates areunobservable when the magnitudes are used to calibrate the IMU.

At each orientation of the IMU, the specific force acting along the accelerometers sensi-tivity axes are constant, i.e. the input uk is constant during the N samples. This also holdsfor the gyro cluster model, if assuming that during each rotation of the IMU the rotationvelocity is kept constant. The cost function may then be simplified as

L(θ) =

M−1m=0

(‖um‖2 − ‖h(ym, θ)‖2)2 (13)

Page 86: 10.1.1.63

D8 CALIBRATION OF A MEMS INERTIAL MEASUREMENT UNIT

where um and ym are the input and sample mean at the m-th orientation and rotation, re-spectively. This reduced cost function may be minimized off-line using for example New-ton’s method, that is [10]

θk+1 = θk + d2L(θ)

dθ dθT −1 dL(θ)

dθ θ=θk

(14)

θ0 ∈ domain of attraction.

The cost function in (11) has several local optima and to ensure that the recursion (14)converges to the true parameters the search for the minima must be initialized with a θ in thedomain of attraction of the global minima. According to the data sheet of the accelerometersthe scale factors differ less then 6% from there nominal values (unit gain) and the biasesare smaller then ±1[m/s2]. Further the misalignments can be assumed small. Therefore anappropriate initial value for the parameter vector may be

θ0 = 1 1 1 0 0 0 0 0 0 σ2 T. (15)

4 Cramer Rao Lower BoundWhen evaluating the performance of an estimator often it is of interest to compare theobtained estimation error with that of an optimal (unbiased with minimum variance) esti-mator. The optimal estimator may not exist, be unknown, or too complex to implement,still the performance of the optimal estimator only depends on the properties of the signalmodel [11], and may therefore be calculated independently. Given the probability distribu-tion function of the observed data, the Cramer-Rao bound (CRLB) sets the lower limit forthe variance of the estimation error for all unbiased estimators. The parametric CRLB isgiven by [12]

var(θ) = diag(J−1(θ)) (16)

where

J(θ)ij = E ∂ log(p(y; θ))

∂θi ∂θj (17)

is the Fisher information matrix. Further p(y; θ) is the probability density function for theobserved data y, parameterized by θ. The measured output yk in Figure 4 may be describedas

yk = µ(θ,uk) + vk (18)

where the signal part µ(θ,uk) reads

µ(θ,uk) = KT−1

uk + b. (19)

The measurement noise vk is assumed to be zero mean, Gaussian distributed and uncor-related both between the sensors and in time. Collecting the measurements yk and signalparts µ(θ, sk) into two vectors,

y = yT0 yT

1 . . . yTM (N−1) T

(20)

Page 87: 10.1.1.63

5 RESULTS D9

and

µ(θ) = µ(θ,u0)T µ(θ,u1)

T . . . µ(θ,uM (N−1)) T (21)

where N is the number of samples at each orientation of the platform and M the num-ber of orientations, the vector y will be Gaussian distributed as y ∼ N(µ(θ),C(θ)).Assuming the variance of the noise from different sensor specimens to be equal, thenC(θ) = σ2I3MN . Here I3MN is the identity matrix of size 3MN . The Fisher informationmatrix for the general Gaussian case is given by [12]

J(θ)ij = ∂µ(θ)

∂θi T

C(θ)−1 ∂µ(θ)

∂θj +

1

2tr C(θ)−1 ∂C(θ)

∂θi

C(θ)−1 ∂C(θ)

∂θj . (22)

Here tr(·), denotes the trace operation. Noting that C(θ) = σ2I3MN in the signal model,equation (17) simplifies to

J(θ)ij =1

σ2 ∂µ(θ)

∂θi T ∂µ(θ)

∂θj +

3MN

2σ4

∂σ2

∂θi

∂σ2

∂θj

. (23)

Further, by utilizing that uk is constant for all N samples at each orientation, the Fisherinformation matrix may be written as

J(θ)ij =N

σ2

Mm=1

Amij +

3MN

2σ4

∂σ2

∂θi

∂σ2

∂θj

(24)

where

Amij = ∂µ(θ,um)

∂θi T ∂µ(θ,um)

∂θj . (25)

In Appendix A, the elements in the matrix Am for the proposed signal model are given.Equation (16) together with (24) and (25) give the CRLB for the parameter estimation prob-lem, under the assumption of Gaussian measurement noise and when the precise orientationof the IMU is known, i.e. there is full knowledge about uk. However, in the considered cali-bration approach the precise orientation of the IMU is unknown but the bound still providesa good benchmark when evaluating the performance of the estimator.

5 Results

5.1 Performance EvaluationThe proposed calibration approach has been evaluated by Monte Carlo simulations. In thesimulation, the estimation of the accelerometer cluster parameters were studied when the

Page 88: 10.1.1.63

D10 CALIBRATION OF A MEMS INERTIAL MEASUREMENT UNIT

Table 1: Settings used in the Monte Carlo simulation. The settings were chosentoo reflect the specifications in the data sheet for the ADXL 103 ac-celerometer. The noise variance σ2 where set to 0.0095 [m/s2], whichcorresponds to a sensor bandwidth of 30 [Hz].

Axis Scaling Bias [m/s2]x 1.05 0.32y 0.93 0.63z 1.06 -0.32

Axis Misalignment []αyz 2αzy -5αzx 3

Table 2: IMU results. The average estimate of the accelerometer cluster pa-rameters, calculated from 20 calibration of the in-house constructedIMU. At each calibration the platform was rotated into 18 different ori-entation and at each orientation the sensors were sampled 100 times.

Axis Scaling Bias [m/s2]x 0.998 -0.435y 0.996 0.254z 1.008 0.099

Axis Misalignment []αyz 0.026αzy -0.695αzx 1.808

IMU was rotated into 18 different orientations, as proposed in [4]. However, a uniformlydistributed error between [−5, 5] was added to the proposed orientations to reflect therelaxed demands of a precise orientation. In Figure 5, 6 and 7 the empirical mean squareerror for the scale-factors, misalignment angles and biases estimates are shown, calculatedfrom 1000 simulated calibrations using the proposed calibration approach. The solid lineis the CRLB for the calibration, when the the precise orientation of the IMU is known. InTable 1, the settings used in the simulation are summarized.

As can be seen from Figure 5, 6 and 7 the performance of the proposed calibrationprocedure is approximately 2, 8 and 5 decibel bellow the CRLB for the scale factors, mis-alignments and biases, respectively. Still the root mean square error, when 100 samplesare taken at each orientation, of the estimated parameters are less than 10−2 of the magni-tude of the parameters, and may therefore normally be considered acceptable for low-costapplications.

5.2 Calibration of IMUThe accelerometer cluster of the in-house constructed IMU has been calibrated using theproposed method. The IMU was by hand placed into 18 different positions, the six sidesand the twelve edges of the IMU. At each orientation 100 samples were taken. In Table 2,the average parameter estimate out of 20 calibrations are shown. All the obtained estimatesare in the expected region for the used sensors, that is the scale factor diverge less than 6%from the unit gain and the biases are less then 1[m/s2]. The estimated misalignment angleαyz , as can be seen in Figure 1.2(b) corresponds to the misalignment between the x- andy-axis in the IMU, which should be close to zero. This is due to the fact that the x- andy-accelerometers are mounted into the same MEMS sensor case. The remaining two mis-alignments angles correspond to the misalignment between the x- and z-axis respectively y-and z-axis, which due to the impreciseness when the IMU was constructed, should be much

Page 89: 10.1.1.63

6 CONCLUSIONS D11

larger. See Figure 1.

6 ConclusionsA MEMS sensor based inertial measurement unit has been constructed in-house, intendedto be used in a low-cost GNSS aided inertial navigation systems. In order to improvethe performance of the GNSS aided INS, which is highly dependent on the accuracy ofthe IMU, an approach for calibrating the IMU, requiring no mechanical platform for theaccelerometer calibration and only a simple rotating table for the gyro calibration has beenstudied. The performance of the calibration algorithm is compared with the Cramer-Raobound for the traditional case when a mechanical platform is used to calibrate the IMU,rotating the IMU into different precisely controlled orientations. Simulation results showsthat the mean square error of the parameter estimates of the senor model increases with up to8 decibel, when utilizing the proposed method. Further, not all parameters in the gyro sensormodel are observable with the proposed calibration approach, increasing the computationalcomplexity of the GNSS aided INS. Still the proposed method can be considered acceptableand useful for many low-cost applications where the cost of constructing a mechanicalplatform many times can exceed the cost of developing the inertial measurement unit.

Page 90: 10.1.1.63

D12 CALIBRATION OF A MEMS INERTIAL MEASUREMENT UNIT

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 265

70

75

80

85

90

PSfrag replacements

Scale factors

10log 1

0(1/M

SE

)

10log10(N)

kx

ky

kz

CRB

Figure 5: Empirical mean square error for the estimation of the scale-factorsas a function of the number of samples at each orientation, using theproposed calibration approach. The legend CRB indicates the CramerRao lower bound for the case when the precise orientation of the IMUis known.

Page 91: 10.1.1.63

6 CONCLUSIONS D13

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 260

65

70

75

80

85

90

PSfrag replacements

Misalignment

10log 1

0(1/M

SE

)

10log10(N)

αyz

αzy

αzx

CRBx

CRBy

CRBz

Figure 6: Empirical mean square error for the estimation of the misalignmentangles as a function of the number of samples at each orientation,using the proposed calibration approach. The legend CRB indicatesthe Cramer Rao lower bound for the case when the precise orientationof the IMU is known.

Page 92: 10.1.1.63

D14 CALIBRATION OF A MEMS INERTIAL MEASUREMENT UNIT

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 250

55

60

65

70

75

PSfrag replacements

Bias

10log 1

0(1/M

SE

)

10log10(N)

bxbybz

CRB

Figure 7: Empirical mean square error for the estimation of the biases as a func-tion of the number of samples at each orientation, using the proposedcalibration approach. The legend CRB indicates the Cramer Raolower bound for the case when the precise orientation of the IMUis known.

Page 93: 10.1.1.63

APPENDIX A D15

Appendix AThe nonzero elements for Am are

Am1,1 = (um

x + αzyumy + (αyzαzx − αzy)um

z )2

Am1,4 = (um

x + αzyumy + (αyzαzx − αzy)um

z )(kxumy + αzxkxu

mz )

Am1,5 = (um

x + αzyumy + (αyzαzx − αzy)um

z )(−kxumz )

Am1,6 = (um

x + αzyumy + (αyzαzx − αzy)um

z )(αyzkxumz )

Am1,7 = (um

x + αzyumy + (αyzαzx − αzy)um

z )

Am2,2 = (um

y + αzxumz )2

Am2,6 = (um

y + αzxumz )kyu

mz

Am2,8 = (um

y + αzxumz )

Am3,3 = (um

z )2

Am3,9 = (um

z )

Am4,4 = (kxu

my + αzxkxu

mz )2

Am4,5 = (kxu

my + αzxkxu

mz )(−kxu

mz )

Am4,6 = (kxu

my + αzxkxu

mz )(αyzkxu

mz )

Am4,7 = (kxu

my + αzxkxu

mz )

Am5,5 = (−kxu

mz )2

Am5,6 = (−kxu

mz )(αyzkxu

mz )

Am5,7 = (−kxu

mz )

Am6,6 = (αyzkxu

mz )2 + (kyu

mz )2

Am6,7 = (αyzkxu

mz )

Am6,8 = (kyu

mz )

Am7,7 = A

m8,8 = A

m9,9 = 1

References[1] I. Skog, A. Schumacher, and P. Handel, “A versatile PC-based platform for inertial

navigation,” in Proc. NORSIG 2006, Reykjavik, Iceland, June 2006.

[2] N. El-Sheimy, S. Nassar, and A. Noureldin, “Wavelet de-noising for IMU alignment,”IEEE Aerospace and Electronic Systems Magazine, vol. 19, no. 10, pp. 32–39, Oct.2004.

[3] R. Rogers, Applied Mathematics in Integrated Navigation systems. AIAA EducationSeries, 2003.

[4] Chatfield, Fundamentals of High Accuracy Inertial Navigation. AIAA, 1997.

[5] J. Hung, J. Thacher, and H. White, “Calibration of accelerometer triad of an imuwith drifting z -accelerometer bias,” in Proc. NAECON 1989, IEEE Aerospace andElectronics Conference, Dayton, OH, USA, May 1989.

Page 94: 10.1.1.63

D16 CALIBRATION OF A MEMS INERTIAL MEASUREMENT UNIT

[6] A. Kim and M. Golnaraghi, “Initial calibration of an inertial measurement unit usingan optical position tracking system,” in Proc. PLANS 2004, IEEE Position Locationand Navigation Symposium, Monterey, CA, USA, Apr. 2004.

[7] Z. Wu, Z. Wang, and Y. Ge, “Gravity based online calibration of monolithic triax-ial accelermeters’ gain and offset drift.” in Proc. 4-th World Congress on IntelligentControl and Automation, Shanghai, China, June 2002.

[8] K. Britting, Inertial Navigation Systems Analysis. Wiley Interscience, 1971.

[9] M. Grewal, L. Weill, and A. Andrews, Global Positioning Systems, Inertial Navigationand Integration. Wiley, 2001.

[10] S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge, 2004.

[11] N. Bergman, “Recursive bayesian estimation, navigation and tracking applications,”Ph.D. dissertation, Dept. of Electrical Engineering, Linkopings Univeristy, 1999.

[12] S. Kay, Fundamentals of Statistical Signal Processing, Estimation Theory. PrenticeHall, 1999.

Page 95: 10.1.1.63

Paper E

Time synchronization errors in GPS-aided inertial navigationsystems

Isaac Skog and Peter HandelSubmitted to IEEE Transactions on Intelligent Transportation Systems

Page 96: 10.1.1.63

c©2007 IEEEThe layout has been revised

Page 97: 10.1.1.63

Time synchronization errors in GPS-aided inertialnavigation systems

Isaac Skog and Peter Handel

Abstract

The effects of time synchronization errors in a GPS-aided inertial navigation system(INS) are studied in terms of the increased error covariance of the state vector. Expressionsfor evaluating the error covariance of the navigation state vector — given the vehicle trajec-tory and the model of the INS error dynamics — are derived. Two different cases are studiedin some detail. The first case considers a navigation system in which the timing error is notincluded in the integration filter. This leads to a system with an increased error covarianceand a bias in the estimated forward acceleration. In the second case, a parameterizationof the timing error is included as a part of the estimation problem in the data integration.The estimated timing error is fed back to control an adjustable fractional delay filter, syn-chronizing the inertial measurement unit (IMU) and GPS-receiver data. Simulation resultsshow that by including the timing error in the estimation problem, almost perfect time syn-chronization is obtained and the bias in the forward acceleration is removed. The potentialof the proposed method is illustrated with tests on real-world data that are subjected totiming errors. Moreover, through an observability analysis, it is shown that the timing erroris observable for all trajectories that include turns or non-zero accelerations.

1 NomenclatureNomenclature

Subscripts and superscripts(·)n Quantity in navigation coordinates.(·)p Quantity in platform coordinates.(·)f Quantity in the system with feedback.(·)ext Quantity in the system with a state model extended to

also include the time synchronization error.(·)fd Quantity in the feedback system with time delay.(·)c Continuous time variable(·)k Time index, discrete time.

Page 98: 10.1.1.63

E2 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

[·]i:j Element i to j in a vector.(·)T Transpose operator.(·)a Actual value.(·)−k Predicted value.· Measured value.· Estimated value.· Average value.Scalarsα Length of the state vector z.β Length of the position vector p.φ Tilt (pitch) angle.M Ratio between the sampling rate of the IMU and the

GPS-receiver.Ts Sampling period of the IMU.Td Time synchronization error.δTd Perturbation in the estimate of the time synchronization

error (i.e., δTd = T ad −

Td).

D Normalized time synchronization errorσ2

acc, σ2gyro, σ

2gps Variance of the accelerometer, gyro, and GPS measure-

ment noise, respectively.Vectorsx State vector, containing the position, velocity, and atti-

tude of the navigation system.δx Perturbation in the state vector (i.e., δx = xa −

x).

u Input vector, containing the accelerations and angularrates of the navigation platform.

δu Perturbation in the estimated sensor errors (i.e., δu =δua − δ

u).

z = [δxT δuT ]T Extended state vector.d Bias vector due to the time synchronization error.e IMU measurement noise.w GPS measurement noise.r Difference between the position estimated by the GPS

and INS.θ Vector of Euler angles.p(t),pk Position vector in continuous and discrete time, respec-

tively.v(t),vk Velocity vector in continuous and discrete time, respec-

tively.a(t),ak Acceleration vector in continuous and discrete time, re-

spectively.s(t), sk Specific-force vector in continuous and discrete time,

respectively.

Page 99: 10.1.1.63

2 INTRODUCTION E3

ω(t), ωk Angular-rate vector in continuous and discrete time, re-spectively.

MatricesIj Identity matrix of size j.0i,j (0i) Zero matrix of size i× j (i× i).Kp Kalman prediction gain matrix.K Kalman filter gain matrix.Ψ State transition matrixH Observation matrix.G Process noise matrix.P Covariance matrix.Q Process noise covariance matrixR Observation noise covariance matrix.Wo Observability matrix.Functionsxc = fc(xc,uc) Continuous time navigation equations.xk+1 = f(xk,uk) Discrete time navigation equations.δi,j Kronecker delta function.E· Expectation operator.S(a) Skew symmetric matrix representation of the vector a.

That is a × b = S(a)b.∆(k) Downsampling function.

2 IntroductionOne of the first problems encountered when investigating the practical construction of low-cost GPS-aided inertial navigation systems (INS) based on commercial off-the-shelf com-ponents (COTS) is the problem of time synchronization in the sampling of the GPS-receiverand inertial measurement unit (IMU). Since in most cases there is no direct access to thehardware of the sensor modules and no possibility of modifying their internal software, thedata synchronization between GPS and IMU must be done in an ad-hoc manner. There-fore, one often encounters a small timing error between the sampling instances of the GPS-receiver and the IMU. The setup considered is illustrated in Fig. 1. The timing error givesrise to several questions: what is the impact on the accuracy of the navigation system? howlarge can the errors be for a given accuracy? and how to estimate and compensate for it?

The impact of data timing errors in integrated navigation systems was first studied in [1],where it was shown that the data timing errors may cause a bias in the forward accelerationduring the transfer alignment of a strap-down INS. In [2, 3] and [4], the effects of using time-delayed GPS measurements in a GPS-aided strap-down INS were studied by examining thesteady-state condition of the Kalman filter that was used to fuse navigation data. Further,in [2], a calibration procedure was proposed based on driving the vehicle with the GPS-aided INS according to a predefined trajectory. A few methods for synchronizing the datastreams at the hardware level are described in [5, 6] and [7].

In this paper, the impact of a time synchronization error in a closed-loop GPS-aidedINS is studied in terms of the increased error covariance of the system. In Section 3, bymodeling the timing error as a trajectory-dependent bias in the GPS-receivers position esti-mates and by studying the behavior of navigation errors in the closed-loop GPS-aided INS,

Page 100: 10.1.1.63

E4 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

PSfrag replacements IMU

accelerometers

gyrosNavigation

GPS

Filter

PositionVelocity

Attitude

t = k Ts

t = l Ts − Td, l = kM

Figure 1: Effects of the timing error Td in the synchronization between the sam-pling of the GPS-receiver and IMU are studied in terms of the nav-igation system’s increased error covariance. Here, the ratio betweenthe sampling rate of the IMU and GPS-receiver is assumed to be aninteger m ≥ 1.

a stochastic difference equation for the navigation errors in the system with timing error isfound. From this equation, an expression for the error covariance of the closed-loop systemwith timing error is derived. In Section 4, the case when the timing error is included in theestimation problem is studied. By including the timing error in the feedback loop of thenavigation filter, almost perfect time synchronization is achieved. The general theoreticalfindings in Section 3 and 4 are illustrated by an example of a single-axis GPS-aided INS inSections 3.3 and 4.1, respectively. In Section 5, a practical approach to the implementationof the time synchronization, using an adjustable fractional delay filter to delay the IMU data,is described. The proposed time synchronization approach, using a fractional delay filter, isincluded as a part of the in-house developed software for simulations and tests for low-costGPS-aided INSs. In Section 6, the integration software and the time synchronization aretested with both simulated and real-world data, subjected to synchronization errors. In Sec-tion 7, the observability of the timing error is examined. Finally, in Section 8, conclusionsare drawn and the results summarized.

3 Covariance of the estimation errorTo evaluate the effects of the time synchronization error on the performance of the navi-gation system, the method that is used to fuse the sensor data must be specified. In thispaper, a feedback implementation of a complementary filter is used to fuse the navigationdata. That is, given a linear state space model of how the position, velocity, attitude, andsensor errors in the mechanization of the INS develop with time, a standard Kalman filteris used to estimate the error state of the INS. The estimated navigation errors are then fedback into the INS to correct its internal states. Since the model for the error plant of theINS depends on the current navigation state, an indirect extended Kalman filter is created.Hence, to evaluate how the timing error will affect the performance of the navigation sys-

Page 101: 10.1.1.63

3 COVARIANCE OF THE ESTIMATION ERROR E5

PSfrag replacements

xk+1

pINSk+1

pGPSk+1

δxk

ukuk

δuk

+

xk+1 = f(xk − δxk, uk)

+

Hk

Kk

IMU NavigationEquations

GPS

Sensor errorcompensation

Figure 2: Block diagram of a closed-loop GPS-aided INS model. The EKFrecursions used to fuse the GPS-receiver and the IMU data may beinterpreted as a way of choosing the gain matrices Kk in the feed-back.

tem, the state-space model of the error plant and the extended Kalman filter recursions mustbe studied.

Introduce a state vector zk of the form

zk = δxk

δuk (1)

where δx contains the position, velocity, attitude perturbation of the INS, and δuk the IMUsensor errors. Then the error plant of the INS can be described by a state-space model ofthe form

zk+1 = Ψk zk + Gk ek (2)

where the state transition matrix Ψk describes how the errors develop from one time in-stance to another and can be found by a perturbation analysis or linearization of the mech-anized navigation equations and sensor models. Refer to the standard text-books [8–10],or [11] for more details on how this is done. Further, the process noise gain matrix Gk

describes how the measurement noise ek from the inertial sensors affects the navigationerror. Since the GPS and IMU in most cases are sampled at two different rates, introducethe following down-sampling function

∆(k) = 1, k = nM, n = 1, 2, ...0, otherwise

. (3)

Here, M denotes the ratio between the sampling rate of the IMU and the GPS-receiver, andis taken to be an integer. If the difference between the position estimates of the GPS and theINS is observed, the observation equation for the state-space model is given by

rk = Hk zk + ∆(k)wk (4)

where the observation matrix Hk is defined as

Hk = ∆(k)[Iβ 0β,(α−β)]. (5)

Page 102: 10.1.1.63

E6 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

Table 1: The indirect extended Kalman filter algorithm for integration betweenGPS-receiver and IMU data, with a ratio between the sample ratesequal to M times.

No GPS data available. (k 6= nM , n = 1, 2, ...)u−

k = uk + δu−

k

x−

k+1= fd(x

k , u−

k )δu−

k+1= δu−

k

P−

k+1= Ψk P−

k ΨTk + Gk QGT

k

GPS data available. (k = nM , n = 1, 2, ...)Kk = P−

k HTk (Hk P−

k HTk + Rk)−1

[δxk

δuk

]=

[0α×1

δu−

k

]+ Kk (pGPS

k − Hk

[x−

k

0β×1

])

xk = x−

k + xek

uk = uk + δuk

Pk = (I − Kk Hk)P−

k

x−

k+1= fd(xk, xk)

δu−

k+1= δuk

P−

k+1= Ψk Pk ΨT

k + Gk QGTk

The integers α and β denote the length of the state vector zk and position vector rk, respec-tively. The notations Iβ and 0β,(β−α) denote a unity matrix of size β and a β × (β − α)matrix with zeros, respectively. The GPS-receiver positioning error1 wk and the measure-ment noise ek of the inertial sensors are considered as white noises, uncorrelated with eachother and with covariance matrices

R = E[wk wTk ] (6)

and

Q = E[ek eTk ]. (7)

For an error model of the form (2)–(7) the corresponding extended Kalman filter recursions,used to fuse the IMU and GPS-receiver data in a closed-loop system, are given in Table 1,as derived in [12]. This set of equations may graphically be interpreted as the closed-loopsystem in Fig. 2, where the feedback gain is chosen as the Kalman filter gain.

3.1 Closed-Loop ErrorTo find a difference equation for the error in the closed-loop system described by the indirectextended Kalman filter algorithm in Table 1, it should be noted that when GPS data isavailable, the current error state is estimated as

1In reality, the errors in the positioning estimates of the GPS-receiver are correlated both in timeand space with a covariance structure depending on the positioning algorithm of the GPS-receiver [8].

Page 103: 10.1.1.63

3 COVARIANCE OF THE ESTIMATION ERROR E7

zk = Kk rk. (8)

That is, the current perturbation in position, velocity, and attitude δxk and the current errorin the estimated sensor perturbation δ

uk are equal to the position error times the Kalman

filter gain. This error estimate is used to correct the current navigation state of the INSbefore the time update. Thus, the state error after the feedback is the error before feedbackzf,k minus the estimated error

zk. With reference to (2), describing how the state errors

relate from one time instance to the next, the error of the closed-loop system zf,k is foundto be

zf,k+1 = Ψk (zf,k −zk) + Gk ek

= Ψk zf,k − Ψk Kk rk + Gk ek. (9)

Equation (9) can be written in a more convenient form by using the definition of the obser-vation vector rk in (4) and by noting that Kp,k = Ψk Kk is the one-step-ahead Kalmanprediction gain. Thus (9) may be rewritten as

zf,k+1 = Ψk zf,k − Kp,k (Hk zf,k + ∆(k)wk) + Gk ek

= (Ψk − Kp,kHk) zf,k − Kp,kwk + Gkek. (10)

In the second equality, one used that the Kalman gain Kk per definition, and hence theprediction gain Kp,k are zero matrices, whenever the downsampling function ∆(k) in (3)is zero. Equation (10) can be identified as the difference equation describing the error ofthe one-step-ahead Kalman filter predictor. Indeed, it is shown in [13] that for a linearsystem, the optimal choice of the feedback gain is the Kalman predictor gain, resulting in asystem with an error covariance equal to that of the linear Kalman predictor. Thus, the errorcovariance of the system with feedback is given by the one-step-ahead Kalman predictorerror covariance.

In summary, the stochastic difference equation (10) describes how the errors in theestimated position, velocity, attitude, and sensor errors propagate with time in the closed-loop implementation of a GPS-aided INS. The dynamics of the errors in the system aredetermined by the time varying closed-loop system matrix (Ψk−Kp,k Hk), which dependson the trajectory dynamics of the navigation platform. Therefore, analytical results aboutthe convergence of the errors in the navigation system are difficult to present. Further, theerror covariance of the closed-loop system is given by the one-step-ahead Kalman predictorcovariance and not, as first may be expected, the Kalman filter covariance. This occursbecause the system cannot instantaneously respond to the feedback control [13].

3.2 Timing Errors in Closed-LoopNow consider the case when there is a timing error between the sampling of the GPS-receiver and the IMU, so that their sampling instants are not perfectly aligned (see Fig. 1).Let this constant misalignment in the sampling instant be denoted Td and assume that itoccurs in the sampling of the GPS-receiver. Further, let the function p(t) describe the truetrajectory of the navigation platform. Then the position estimates from the GPS-receiver attime k can be described as

Page 104: 10.1.1.63

E8 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

p

GPSk = ∆(k)(p(k Ts − Td) + wk) (11)

where wk is the estimation error of the GPS-receiver. Assume that a rough synchronizationof the GPS-receiver and IMU data has been done by means of correlation or at hardware-level, so that |Td| is in the order of a few sampling periods Ts. Then p(k Ts − Td) in (11)can be approximated by a second-order Taylor expansion around t = k Ts, that is,

p(k Ts − Td) ' pk − vk Td + akT 2

d

2(12)

where pk, vk, and ak denote the navigation platform position, velocity, and acceleration atsampling instance k, respectively. The symbol ' denotes equality where only the significantterms have been retained. Inserting (12) into (11) gives

pGPSk ' ∆(k) pk − vk Td + ak

T 2d

2+ wk . (13)

Thus, the true observation rak of the system, which is fed back into the closed-loop system,

can be described as

rak = ∆(k)(

p

GPSk −

p

INSk )

' ∆(k)(pk − vk Td + akT 2

d

2+ wk −

p

INSk ). (14)

HerepINS

k is the position estimate from the INS at time k. Next, identifying that Hk zek =

∆(k)(pk −pINS

k ) and substituting it into (14) yields the following description of the trueobservation for the system with a timing error

rak ' ∆(k)(Hk zk + wk + dk). (15)

In (15), the position error vector dk is introduced as

dk = −vk Td + akT 2

d

2. (16)

By comparing (15) and (4) it is clear that the actual observation contains not only the po-sition error and measurement noise but also a bias term dk that depends on the timingerror Td and the dynamics of the navigation system. Substituting rk with ra

k in (9) andinserting (15) into this yields the following difference equation for the error state in theclosed-loop navigation system with timing errors

zfd,k+1 = Ψk zfd,k − Kp,k rak + Gk ek

= Ψk zfd,k − Kp,k ∆(k)(Hk zk + wk + dk) + Gk ek. (17)

By examining the recursions in Table 1 it is clear that the Kalman filter gain Kk and hencealso the Kalman filter prediction gain Kp,k are zero whenever ∆(k) is zero. Thus (17) canbe rewritten into a more familiar form

Page 105: 10.1.1.63

3 COVARIANCE OF THE ESTIMATION ERROR E9

zfd,k+1 = (Ψk − Kp,k Hk) zfd,k − Kp,k wk + Gk ek

− Kp,k dk. (18)

Equation (18) has similarities with the difference equation (10) describing the estimationerror in the closed-loop system without timing error except from the last additional termKp,k dk reflecting the contribution due to timing error. Next, introduce

Φk = Ψk − Kp,k Hk, k = nM, n = 1, 2, ...Ψk, otherwise

(19)

Then the covariance of the estimation error may be expressed as

Pfd,k+1 = E[zfd,k+1 (zfd,k+1)T ]

= Φk Pfd,k ΦTk + Kp,k RL

Tk + Gk QG

Tk

+ Kp,k dk dTk L

Tk − Φk E[zf,k]dT

k LTk

− Kp,k dk E[zf,k]T ΦTk (20)

where the mean of the estimation error can be calculated as

E[zf,k+1] = Φk E[zf,k] − Kp,k dk. (21)

The derived expressions (20) and (21) describe the dynamics of the covariance and mean ofthe navigation errors in a closed-loop GPS-aided integrated navigation system with timingerror. The three last terms in equation (20) are the contribution to the covariance due to timedelay, whereas the three former ones correspond to the case when there is no time delay.As for the case without timing error, the error dynamics are determined by the time-varyingsystem matrix Φk and now also the position bias dk, both depending on the trajectory ofthe navigation platform. Therefore, general analytical results of the convergence of theestimation errors are difficult to derive. However, the derived expressions can be numeri-cally evaluated to investigate how the sampling timing error will affect the accuracy of thenavigation system for a certain trajectory.

3.3 Example: Single-axis GPS-aided INSConsider the single-axis navigation problem illustrated in Fig. 3 with reference to, for ex-ample, performance measurements in drag racing type of activities [14]. The purpose isto determine the position of the vehicle along a horizontal straight track. The vehicle isequipped with a GPS-receiver that gives noisy position estimates at 10 Hz. The accelera-tion and tilt rate of the vehicle are measured by an accelerometer and a gyro mounted atthe center of gravity of the vehicle. When the vehicle accelerates it will start to tilt and theaccelerometer will not only sense the forward acceleration but also the gravity retardationforce. Assume the gravity vector to have the magnitude g, the relationship between the ac-celeration and angular rate of the vehicle and its tilt angle, velocity, and position can bedescribed by the following set of differential equations:

Page 106: 10.1.1.63

E10 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

PSfrag replacements

accelerationa(t)

ω(t)

gravity vectorgravity vector

pINSk+1

pGPSk+1

satellitesatellite

accelerometersensitivity axis

Figure 3: Example of a single-axis GPS-aided INS system. The accelerationand tilt rate of the vehicle are measured by an accelerometer and agyro mounted at the center of gravity of the vehicle. When the ve-hicle accelerates it tilts and the accelerometer will not only sense theforward acceleration but also the gravity force. The position of thevehicle is estimated using a GPS-receiver having an inherent time de-lay.

p(t) = v(t) (22)

v(t) = s(t) cos−1(φ(t)) − g tan(φ(t)) (23)

φ(t) = ω(t) (24)

Here p(t), v(t), s(t), φ(t), and ω(t) denote the position, velocity, specific force, tilt, andangular rate of the vehicle, respectively. These equations are referred to as the navigationequations used in the INS to calculate the position, velocity, and tilt from the measuredaccelerations and angular rates. By introducing the state vector

xc = p(t) v(t) φ(t) T (25)

and input vector

uc = s(t) ω(t) T (26)

the continuous time navigation equations (22)–(24) may be written as

xc = fc(xc,uc) (27)

Page 107: 10.1.1.63

3 COVARIANCE OF THE ESTIMATION ERROR E11

Assuming that there is a bias δω and noise ec,2 in the gyro measurements, whereas theaccelerometer measurements are only disturbed by some noise ec,1

2, the measured outputfrom the accelerometer and gyro can be described as

sc = sc + ec,1 (28)

andωc = ωc − δ ω + ec,2 (29)

respectively. Using these measurements as the input to the INS results in an error in thecalculated position, velocity, and tilt. A linear model for how the errors develops with timemay be found by linearizing the navigation equations around the true trajectory, that is,

˙xc = xac − δxc

= fc(xc, uc)

' fc(xac ,u

ac ) −

∂fc(x,u)

∂x x=xac

δxc +∂fc(x,u)

∂s u=uac

ec,1

−∂fc(x,u)

∂ω u=uac

(δω − ec,2). (30)

Hence, assuming that the bias δω in the angular rate measurements is constant, then theerrors in the single-axis INS can be modeled as

zc = δxc

δω = Ψc zec + Gc ec (31)

where

ec = ec,1 ec,2 T (32)

Ψc = 0 1 0 0

0 0 sc sin(φc)−g

cos2(φc)0

0 0 0 10 0 0 0

(33)

and

Gc = 0 0cos−1(φc) 0

0 10 0

. (34)

In the error model (31)–(34), both the state transition matrices Ψc and Gc are timevarying since they depend on the specific force sc and the tilt angle φc. If the samplerate of the INS is high compared to the rate of change in Ψc and Gc, then a zero-orderhold sampling of the system results in the following discrete time model for the error in thenavigation system.

2Including a bias term in the description of the accelerometer measurement would result in a nonob-servable state-space model of how the single-axis INS errors develops with time.

Page 108: 10.1.1.63

E12 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

0 20 40 60 80 1000

2000

4000

0 20 40 60 80 1000

20

40

0 20 40 60 80 100−10

0

10PSfrag replacements

Position

[m]

Velocity

[m/s

]

Tilt

[]

Time [s]

Figure 4: Trajectory used in the single-axis GPS-aided INS example. The vehi-cle tilt is modeled as the output of a first-order system driven by theforward acceleration.

zk+1 = Ψk zk + Gk ek (35)

where

Ψk = I5 + Ts Ψc(k Ts)

=

1 Ts 0 0

0 1 Tssc(k Ts) sin(φc(k Ts))−g

cos2(φc(k Ts))0

0 0 1 Ts

0 0 0 1

(36)

Gk = Gc(k Ts) = 0 0Ts cos−1(φc(k Ts)) 0

0 10 0

(37)

Qk,l = E[ek (el)T ] = σ2

acc 00 σ2

gyro δk,l (38)

Further, since the difference in the estimated position of the GPS-receiver and the INS isobserved, the observation equation for the error model becomes

Page 109: 10.1.1.63

4 MODELLING THE TIMING ERROR IN THE INTEGRATION FILTER E13

Table 2: Setting used when evaluating the single-axis GPS-aided INS with theaid of numerical simulations.

Parameter Value Parameter Valueσgps 0.5 [m] [Pfd,0]1,1 0.12 [m2]σacc 0.01 [m/s2] [Pfd,0]2,2 0.12 [(m/s)2]σgyro 0.1 [/s] [Pfd,0]3,3 22 [()2]T

d 0.1 [s] [Pfd,0]4,4 0.12 [(/s)2]T ?

max 0.1 [s] [Pfd,0]5,5? 1/300 [s2]

T ?min 0 [s] [ze

fd,0]6? 0.05[s]

Ts 10 [ms] M 10

Notes: The covariance matrix Pfd,0 was initialized as a diagonal matrix with diagonal elements as given in the

table. The initial mean error zefd,0 was set to zero, except from the timing error that was set according to the table.

This corresponds to initializing the timing error as zero in the navigation filter. Note that the variables denoted with? and only exist when the timing error is and is not included in the feedback of the GPS-aided INS, respectively.

All other variables are the same for both cases.

rk = Hk zk + wk (39)

where

Hk = [1 01,4] , k = nm, n = 1, 2, ...01,5 , otherwise

(40)

Qk,l = E[wk wTl ] = σ2

GPS δk,l. (41)

Recall that m is the ratio between the sampling ratio of the IMU and the GPS-receiver.Having derived the state-space model for the error plant in the single axis INS system,

which has the same structure as the error model in (2)–(7), the results in (20)–(21) can beapplied to evaluate how the time delayed GPS measurements will affect the accuracy of theintegrated navigation system given a certain vehicle trajectory. Consider, for example, thevehicle trajectory described in Fig. 4, then the expected performance in terms of the rootmean square (rms) and mean error in the integrated navigation system for a time synchro-nization error of 100 ms is shown in Figs. 5–6. In the example, the system parameters arethose given in Table 2. A Monte Carlo simulation of the single-axis navigation example wasalso conducted to illustrate the error model in (20)–(21). The empirical estimated errorcovariances and means are indicated in black in Figs. 5–6 and show good agreement withthose estimated by the error model.

4 Modelling the timing error in the integration filterAssume that the integrated navigation system has been extended to also estimate the timingerror Td, which then is fed back and used to adjust the sampling instants of the IMU tosynchronize it with the sampling of the GPS-receiver. Alternatively, assume that the esti-mated timing error

Td (where the

denotes an estimated quantity) is fed back to control a

Page 110: 10.1.1.63

E14 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

0 10 20 30 40 50 60 70 80 90 1000

2

4

0 10 20 30 40 50 60 70 80 90 1000

0.5

1

0 10 20 30 40 50 60 70 80 90 1000

1

2

3

PSfrag replacements

Standard deviation of the position estimation error

[m]

Standard deviation of the velocity estimation error

[m/s

]

Standard deviation of the tilt estimation error

[]

[s]

Figure 5: Standard deviation of the estimation error in the position, velocity,and tilt for a time synchronization error of 100 [ms]. (a) No timingerror – red line, (b) Theoretical – black line, (c) Empirical – blue line.

fractional delay filter synchronizing the GPS-receiver and IMU data streams (Fig. 7). Thenthe plants of the errors in the integrated navigation system can be described by extendingthe state vector and error model in equations (2)–(6) as follows

zextk+1 = Ψ

extk z

extk + G

extk ek (42)

where zext is the augmented state vector

zextk = [zT

k δ Td,k]T . (43)

Further,

Ψextk = Ψk 0α,1

01,α 1 (44)

Gextk = Gk

0 . (45)

Here δTd,k denotes the error in the estimated time delay at time instant k, that is δTd,k =

T ad −

Td,k. The true observation can then be described as

Page 111: 10.1.1.63

4 MODELLING THE TIMING ERROR IN THE INTEGRATION FILTER E15

0 20 40 60 80 1000

0.05

0.1

0.15

0.2

0 20 40 60 80 100−0.05

0

0.05

0.1

0.15

PSfrag replacements

Standard deviation of the gyro bias estimation error

[/s]

Mean of the gyro bias estimation error

[/s

][/s

]

[s]

Figure 6: Standard deviation and mean of the error in the gyro bias estimatesfor a time synchronization error of 100 [ms]. (a) No timing error –red line, (b) Theoretical– black line, (c) Empirical – black line.

ra,extk = ∆(k)(

p

GPSk −

p

INSd,k )

= ∆(k) p(k Ts − T ad ) + wk −

p

INSd,k (46)

= ∆(k) p(k Ts −Td,k − δTd,k) + wk −

p

INSd,k

wherepINS

d,k is the INS position estimates at time instant k calculated from IMU data thathas been delayed by

Td,k seconds. By following the same procedure as in (11)–(14), but

expanding the Taylor series around k Ts −Td,k instead, it can be shown show that the true

observation in the extended state space-model can be expressed as

ra,extk = ∆(k) pd,k − vd,kδT

ed,k + ad,k

δT 2d,k

2

+ wk − pINSd,k . (47)

Here, pd,k, vd,k, and ad,k are short-hand notations for p(k Ts −Td), etc. The observation

error ra,extk can then be written in terms of an extended observation matrix and the state

Page 112: 10.1.1.63

E16 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

vector of the extended error model as

ra,extk = ∆(k) (Hext

k zextk + wk + d

extk ) (48)

whereH

extk = Hk −vd,k (49)

and

dextk = ad,k

δT 2d,k

2. (50)

Hence, the bias in the position error that is fed back into the system with the extended errormodel is only a function of the accelerations of the vehicle and the timing error δTd,k attime k. Next, substituting rk in (10) with r

a,extfd,k , the error states in the navigation system

with the extended error model can be described as

zextfd,k+1 = (Ψk − Kp,k Hk) zext

fd,k − Kp,k wk + Gk ek

− Kp,k dextk . (51)

To evaluate the performance of the navigation filter using the extended error model it maybe tempting to use the expressions in (20)–(21). However, since the bias term dext

k in (43)is a function of the last entry in zext

k , this cross-correlation must be considered when eval-uating the last three terms in equation (20). Under the assumption that the state estimatesare Gaussian distributed the covariance of the error in the extended system with feedbackbecomes

Pextfd,k+1 = Φk P

extfd,k Φ

Tk + Kp,k RK

Tp,k + Gk QG

Tk

+ Kp,k Πextk K

Tp,k − Φk Γk K

Tp,k

− Kp,k ΓTk Φ

Tk (52)

where

Πextk =

ak aTk

4(3 [Pext

fd,k]2i,i − 2 [zextfd,k]4i ) (53)

Further,

Γk = [Pextfd,k]i,i z

extf,k

+ 2 [zextf,k ]i ( [Pext

fd,k]1:n,i − [zextfd,k]i z

extfd,k ) aT

k

2(54)

andz

extfd,k = (Ψk − Kp,k Hk) zext

fd,k −1

2Kp,k ak [Pext

fd,k]i,i. (55)

Here i denotes the index of the error element δTd,k in the state vector of the extended errormodel. A derivation of the above expression for the error covariance in the system withthe additional state for the time synchronization error is found in Appendix A. In order toillustrate the above result, we rely on the single-axis example below.

Page 113: 10.1.1.63

5 IMPLEMENTING A VARIABLE DELAY IN THE NAVIGATION FILTER E17

PSfrag replacements

xk+1

pINSk+1

pGPSk+1

δxk

ukuk

δuk

ud,k

+

Td

δTd,k

xk+1 = f(xk − δxk, uk)

+

Delay

Hk

Kk

IMU NavigationEquations

GPS

Sensor errorcompensation

Figure 7: Block diagram of a closed-loop GPS-aided INS system with feed-back for the compensation of the time delay in the GPS-receiver. Onepossibility of implementing the variable delay in reality is to use anadjustable fractional delay filter.

4.1 Example: Single-axis GPS-aided INS, revisitedConsider again the single-axis GPS-aided INS example in Section 3.3. Here, the time-delay error has been included in the feedback loop of the integrated navigation system,as illustrated in Fig. 7. The expected performance of the navigation system can then beevaluated by using the recursions in (52)–(55). The expected performance of the systemwhen evaluated for the same trajectory and with the same setting as in the previous case(see Fig. 4 and Table 2), is given by the black (dashed) lines in Figs. 8–10. From the figures,it is clear that by including the timing error in the feedback loop of the integrated navigationsystem, the effects of the timing error δTd,k will become negligibly small for large k’s,given a vehicle trajectory with enough dynamics. What is then enough dynamics? It isseen that at constant velocity the extended error model is not fully observable. However,by comparing the velocity curve in Fig. 4 and the curve of the timing error in Fig. 10, itbecomes clear that δTd,k is observable when a(t) 6= 0. This means that for the trajectoryto have enough dynamics it should include velocity changes. This will be more rigorouslyshown in Section 7 by an observability analysis of the extended state-space model.

5 Implementing a variable delay in the navigationfilter

In Section 4, where the error covariance of the extended navigation filter was derived, it wasassumed that the inertial measurement unit data could be delayed with an arbitrary delay(see Fig. 7). However, in reality the IMU data has been sampled at certain time instances.To have a continuously variable delay D =

Td/Ts an adjustable interpolator or fractional

delay (FD) filter must be used. The ideal frequency response of such fractional delay isgiven by the linear-phase, all-pass filter [15, 16]

H(e 2π ν) = ej 2π ν D ν − normalized frequency (56)

where ν denotes the normalized frequency and is the imaginary unit. The impulse responseof this system is a shifted (by a factor D) and sampled sinc function. Hence, this is a

Page 114: 10.1.1.63

E18 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

0 100 200 300 400 500 6000

1

2

0 100 200 300 400 500 6000

0.2

0.4

0 100 200 300 400 500 6000

2

4PSfrag replacements

Standard deviation of the position estimation error

[m]

Standard deviation of the velocity estimation error

[m/s

]

Standard deviation of the tilt estimation error

[]

[s]

Figure 8: Standard deviation of the estimation error in the position, velocity,and tilt for the case when the time synchronization error is includedin the error model used in the navigation filter. (a) Theoretical – blackline, (b) Empirical – blue line.

noncausal filter with infinite impulse response, making it impossible to implement in real-time applications. Therefore, in practice, an approximation of the ideal fractional delayfilter must be used. For a detailed overview of fractional delay filter design and their usage,see [15].

One of the most commonly used techniques for fractional delay filter design is Lagrangeinterpolation, in which the filter coefficients of the FD-FIR filter is calculated as

h(n) =N

k=0k 6=n

D − k

n− kfor n = 0, 1, 2, ..., N (57)

where N is the order of the filter and D ∈ [(N − 1)/2 < (N + 1)/2] is the desired de-lay. If a delay larger then D = (N + 1)/2 is required, this may be solved by adding anappropriate unit-delay before the FD-filter. In Fig. 11, the magnitude and phase responseof an N = 3 order Lagrange interpolator is shown. As can be seen the filter has excellentlow frequency characteristics and for D = 1.5 also a linear phase (i.e., constant group-delay). However, the magnitude response suffers from a zero at ν = 0.5. An adjustableversion of this third-order Lagrange interpolator has been implemented using a Farrow fil-ter structure. Refer to [16] for details on how such filter implementation can be done in a

Page 115: 10.1.1.63

5 IMPLEMENTING A VARIABLE DELAY IN THE NAVIGATION FILTER E19

0 20 40 60 80 1000

0.02

0.04

0.06

0.08

0.1

0 20 40 60 80 100−0.02

0

0.02

0.04

s

PSfrag replacements

Standard deviation of the gyro bias estimation error

[/s]

Mean of the gyro bias estimation error

[/s

][/s

]

[s]

Figure 9: Standard deviation and mean of the error in the gyro bias estimatesfor the case when the time synchronization error is included in theerror model used in the navigation filter. (a) Theoretical– black line,(b) Empirical – blue line.

computationally efficient manner. The adjustable FD-filter was used as variable delay ina Monte Carlo simulation of the one-dimensional GPS-aided integrated navigation systemwith an extended error model described in Section 4.1. The deviation between the low-passcharacteristics of the Lagrange interpolator and the ideal fractional delay filter when usedas variable delay of the IMU data is of marginal importance, since the INS mechanizationhas a low-pass characteristics. In Figs. 8–10, the results from the Monte Carlo simulationof the single-axis GPS-aided integrated navigation system with the feedback for the timingerror are shown together with the error covariance and mean predicted from the error modelin equations (52)–(55). The setting used in the simulation is again given in Table 2. Fur-ther, the timing error was modeled as uniformly distributed between 0 and 100 ms and thefilter was initialized for a zero time delay. As can be seen, the empirically calculated errorcovariances and means agree well with those predicted by the error model.

Page 116: 10.1.1.63

E20 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

0 100 200 300 400 500 6000

0.02

0.04

0.06

[s]

0 100 200 300 400 500 6000

0.02

0.04

0.06[s

]

PSfrag replacements

Standard deviation of the time-delay estimation error

[/s]

Mean of the of the time-delay estimation error

[/s] [s]

Figure 10: Standard deviation and mean of the error in the timing error esti-mates. (a) Theoretical– black line, (b) Empirical – blue line.

6 Time synchronization applied to a low-cost GPS-aided INS

To further illustrate the usefulness of the fractional delay filter time synchronization ap-proach, it was implemented as a part of the in-house developed Matlab software for integrat-ing GPS and IMU data. The synchronization approach was then tested on both simulatedand real-world data, into which intentional time synchronization errors were included. Thesoftware was developed targeting simulations and tests of ultra low-cost GPS-aided INSapplications, such as consumer electronics In-car navigation applications. Refer to [17] formore details on the PC-based navigation platform. The integration software is designed fornavigation in the tangent plane (in daily life often referred to as north, east, and down, and tobe used with low-cost micro-electro-mechanical systems (MEMS) inertial sensors. Thus,parameters such as craft rates, gravity variations, the earth rotation rate, etc, can be ne-glected. For this type of low-cost applications where the above-stated assumptions applies,an error model as found in Appendix B is applicable [18].

Page 117: 10.1.1.63

6 TIME SYNCHRONIZATION APPLIED TO A LOW-COST GPS-AIDED INS E21

0 0.1 0.2 0.3 0.4 0.50

0.2

0.4

0.6

0.8

1

D=1.000D=1.167D=1.333D=1.500

0 0.1 0.2 0.3 0.4 0.5−8

−6

−4

−2

0

D=1.667D=1.833D=2

PSfrag replacements

Magnitude Response

Phase Response

ν

Mag

nitu

dePh

ase

[rad]

Figure 11: Magnitude and phase response of the third-order Lagrange inter-polator. The magnitude curves are the same for D and N − D.An adaptive version of this filter was used in the simulations of theone-dimensional GPS-aided INS to time-synchronize the IMU andGPS-receiver data.

6.1 Simulated data

In Fig. 12, the trajectory used in the Monte Carlo simulations and evaluation of the derivederror covariance expression of the GPS-aided INS is shown. The results of the Monte Carlosimulation together with the values predicted by the error covariance models are shownin Figs. 13-21. In Table 3, the setting used in the simulations are summarized. For thecase when the timing error is not included in the model, see Figs 13–16; there is a goodagreement between the covariances and means predicted by the model and the empiricalcovariances and means calculated from the Monte Carlo simulation. In Fig. 16, the bias inthe forward acceleration due to the timing error is seen. When the timing error is included inthe model (see Figs. 17–21), the derived covariance expressions do not perfectly capture thetransient behavior of the integration filter. Further, there is a difference when the estimatedtime delay is actually fed back to synchronize the two data streams and when it is only usedto compensate the error in the observations. There is a better agreement between the modelpredicted error covariances and the results of the simulations in the case when the timingerror is not fed back than when the timing error is fed back. This difference is likely dueto the extra nonlinearity introduced by delaying the IMU data filter, which is not captured

Page 118: 10.1.1.63

E22 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

−50 0 50 100−250

−200

−150

−100

−50

0

50

PSfrag replacements

Simulation trajectoryN

orth

[m]

East [m]

Figure 12: Trajectory used in the Monte Carlo simulation of the GPS-aided INSand the evaluation of the corresponding covariance expressions.

Page 119: 10.1.1.63

6 TIME SYNCHRONIZATION APPLIED TO A LOW-COST GPS-AIDED INS E23

by the covariance expressions. However, as the filter converges the agreement between themodel predicted covariances and the empirical covariances improves and it is clearly seenthat the effects of the timing error are removed. Moreover, from Fig. 20 it is obvious thatthe bias in the forward acceleration is removed.

0 100 200 300 4000

1

2

3

0 100 200 300 4000

1

2

3

PSfrag replacements

Standard deviation of the north position estimation error.

Standard deviation of the east position estimation error.

[m]

[m]

[s]

Figure 13: Standard deviation of the estimation error in the north and east po-sition for a time synchronization error of 100 [ms]. (a) No timingerror – red line, (b) Theoretical – black line, (c) Empirical – blueline.

6.2 Real-world dataReal-world data was collected using a 100 Hz GPS and data logger (VBOX III) togetherwith an additional MEMS IMU, all from RacelogicTM. To capture similar dynamics, thevehicle was driven in a trajectory similar to the trajectory used in the Monte Carlo simulation(see Figure 22). The test was conducted in a parking lot, outside Stockholm, Sweden, andunder the following conditions: clear sky view with no large surrounding obstacles blockingthe satellite signals and with 8–9 satellites in view during the entire run. The recorded GPSposition estimates and the IMU data were integrated using the in-house developed software.To test the time synchronization approach, the timing error of the recorded data was firstestimated and removed. Then, three data sets with the intentional GPS data delays of 50,100, and 150 ms were constructed and used as input to the integration software. Further,

Page 120: 10.1.1.63

E24 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

0 100 200 300 4000

0.5

1

0 100 200 300 4000

0.5

1

PSfrag replacements

Standard deviation of the north velocity estimation error.

Standard deviation of the east velocity estimation error.

[m/s

][m/s

]

[s]

Figure 14: Standard deviation of the estimation error in the north and east ve-locity for a time synchronization error of 100 [ms]. (a) No timingerror – red line, (b) Theoretical – black line, (c) Empirical – blueline.

Page 121: 10.1.1.63

6 TIME SYNCHRONIZATION APPLIED TO A LOW-COST GPS-AIDED INS E25

0 100 200 300 4000

1

2

0 100 200 300 4000

1

2

0 100 200 300 4000

5PSfrag replacements

Standard deviation of the roll estimation error.

Standard deviation of the pitch velocity estimation error.

Standard deviation of the heading velocity estimation error.

[]

[]

[]

[s]

Figure 15: Standard deviation of the estimation error in the roll, pitch and head-ing for a time synchronization error of 100 [ms]. (a) No timing error– red line, (b) Theoretical – black line, (c) Empirical – blue line.

Page 122: 10.1.1.63

E26 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

0 100 200 300 400−0.05

0

0.05

0.1

0 100 200 300 400−0.2

0

0.2

PSfrag replacements

Mean of the accelerometer bias estimation error.

Mean of the gyro bias estimation error.

[m/s

2]

[/s

]

[s]

[s]

Figure 16: Mean of the error in the accelerometer and gyro bias estimates for atime synchronization error of 100 [ms]. Note that the mean valuespredicted by the error model and thus obtained from the Monte Carlosimulation are indistinguishable. X-axis (forward) – red line, Y-axis(sideways) – green line, Z-axis (downward) – blue line.

Page 123: 10.1.1.63

6 TIME SYNCHRONIZATION APPLIED TO A LOW-COST GPS-AIDED INS E27

0 100 200 300 4000

1

2

0 100 200 300 4000

1

2

PSfrag replacements

Standard deviation of the north position estimation error.

Standard deviation of the east position estimation error.

Standard deviation of the down position estimation error.

[m]

[m]

[s]

Figure 17: Standard deviation of the estimation error in the north and east po-sition when the timing error is included in the estimation problemof the data integration. (a) Theoretical – black line, (b) Empirical(fractional delay) – blue line.

Page 124: 10.1.1.63

E28 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

0 100 200 300 4000

0.5

1

0 100 200 300 4000

0.2

0.4

0.6

PSfrag replacements

Standard deviation of the north velocity estimation error.

Standard deviation of the east velocity estimation error.

Standard deviation of the down velocity estimation error.

[m/s

][m

/s]

[s]

Figure 18: Standard deviation of the estimation error in the north and downvelocity when the timing error is included in the estimation problemof the data integration. (a) Theoretical – black line, (b) Empirical(fractional delay) – blue line.

Page 125: 10.1.1.63

6 TIME SYNCHRONIZATION APPLIED TO A LOW-COST GPS-AIDED INS E29

0 100 200 300 4000

1

2

deg

0 100 200 300 4000

1

2

deg

0 100 200 300 4000

2

4

degPSfrag replacements

Standard deviation of the roll estimation error.

Standard deviation of the pitch velocity estimation error.

Standard deviation of the heading velocity estimation error.

[degrees][s]

Figure 19: Standard deviation of the estimation error in the roll, pitch, andheading when the timing error is included in the estimation problemof the data integration. (a) Theoretical – black line, (b) Empirical(fractional delay) – blue line.

Page 126: 10.1.1.63

E30 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

0 100 200 300 400−5

0

5

10x 10−3

0 100 200 300 400−0.05

0

0.05

0.1

PSfrag replacements

Mean of the accelerometer bias estimation error.

Mean of the gyro bias estimation error.

[m/s

2]

[/s

]

[s]

[s]

Figure 20: Mean of the error in the accelerometer and gyro bias estimates whenthe timing error is included in the estimation problem of the dataintegration. Solid lines are for when a fractional delay filter is usedand the dashed lines are theoretical ones. X-axis (forward) – redline, Y-axis (sideways) – green line, Z-axis (downward) – blue line

Page 127: 10.1.1.63

6 TIME SYNCHRONIZATION APPLIED TO A LOW-COST GPS-AIDED INS E31

0 100 200 300 4000

20

40

60

0 100 200 300 4000

20

40

60

PSfrag replacements

Mean of the timing estimation error.

Standard deviation of timing estimation error.

[ms]

[ms]

[ms]

[s]

[s]

Figure 21: Mean and standard deviation of the timing estimation error. (a) The-oretical – black line, (b) Empirical (fractional delay) – blue line.

Page 128: 10.1.1.63

E32 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

Table 3: Setting used when evaluating the GPS aided INS with aid of numericalsimulations.

Parameter Value Unitσgps 3/

√3 [m]

σacc 0.02 [m/s2]σgyro 0.15 [/s]T

d 0.1 [s]T ?

max 0.1 [s]T ?

min 0 [s]Ts 10 [ms]M 20 −−[Pfd,0]1:3,1:3 (3/

√3)2 [m2]

[Pfd,0]4:6,4:6 0.12 [(m/s)2][Pfd,0]7:8,7:8 12 [()2][Pfd,0]9,9 32 [()2][Pfd,0]10:12,10:12 0.12/12 [(m/s)2][Pfd,0]13:15,13:15 12/12 [(/s)2][Pfd,0]16,16

? 0.052 + 0.12/12 [s2][ze

fd,0]16? 0.05 [s]

Notes: The covariance matrix Pfd,0 was initialized as diagonal matrix with diagonal elements as given in the table.

The initial mean error zefd,0 was set to zero, except for the timing error that was set according to the Table. This

corresponds to initializing the timing error as zero in the navigation filter. Note that the variables denoted with ? and only exist when the timing error is and is not included in the feedback of the GPS-aided INS, respectively. All

other variables are the same for both cases.

Page 129: 10.1.1.63

6 TIME SYNCHRONIZATION APPLIED TO A LOW-COST GPS-AIDED INS E33

−40 −20 0 20 40 60 80 100−160

−140

−120

−100

−80

−60

−40

−20

0

20

PSfrag replacements

Real world trajectoriesN

orth

[m]

East [m]

Start OutageStop Outage

Figure 22: Real-world trajectory used in the test of the time synchronizationapproach using a fractional delay filter in the feedback loop. Theheight difference in the trajectory is negligible and therefore notshown.

the GPS data was downsampled to 5 Hz.

The drift rate of the system during GPS outages is often used as an indicator of theMEMS sensors quality and to judge how well the sensors have been calibrated by the in-tegration filter [19]. Therefore a GPS outage of 20 seconds was introduced to see how thetiming error affects the position drift rate of the system during the outages. As can be seen inFig. 16 from the Monte Carlo simulation, as well as shown in [2], the timing error causes afalse bias in the forward acceleration. Thus, the drift rate during the GPS outages should belarger in the case of a timing error. In Table 4, the estimated timing errors and the maximumposition error during the outages for the different data sets are shown. The TEM (timingerror in model) column indicates if the timing error was included in the data integrationfilter or not. For all the three different timing errors, a time synchronization in the order of afew milliseconds was achieved. As expected, the drift rate during the GPS outages is largerwhen there is a timing error. By including the timing error into the error model the drift rategoes down to the same order as without timing error. Here, it should be pointed out thatwhen evaluating the drift rate the trajectory estimated by the filter using all available dataand without any intentional time synchronization errors was used as a reference trajectory.

Page 130: 10.1.1.63

E34 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

Table 4: Estimated time delay (Td) for artificial timing error (Td) and maximum

error (2D-horizontal plane/3D-spherical) during a 20 second long GPSoutage starting after 390 seconds.

Td [ms] TEM Max error (2d/3d) [m] Td [ms]0 no 16.5/16.8 -0 yes 16.3/16.6 0.750 no 17.1/17.3 -50 yes 16.3/16.7 46100 no 18.2/18.4 -100 yes 16.5/16.8 98150 no 19.7/19.8 -150 yes 16.5/16.9 147

7 Observability of time delay error

The observability of the error states in GPS-aided INSs have been extensively studiedin [20–22], and [23]. Therefore, only the question regarding the observability of addi-tional timing error state is addressed here. A system is said to be observable at time k ifthe state vector zk can be determined from the outputs rk, ..., rk+N for a finite N [24].For time-varying systems such as (75)–(77) the observability analysis is in general cumber-some. However, for certain trajectories the characteristics of the system model (75)–(77)can be captured by a piece-wise constant model. An observability analysis of the piece-wiseconstant model, which is fairly straightforward, can then give valuable insight regarding theobservability of the time-varying model [20]. Thus, the observability of the timing error inthe extended version of the state-space model (75)–(77) is examined for an approximatelystraight-line trajectory with piece-wise constant velocity segments, so that the model char-acteristics can be captured by a piece-wise constant model. Let the velocity during the firstsegment k < ηM be denoted v1 and the velocity in the second segment k ≥ ηM bedenoted v2. Here, η denotes the number of observations (GPS position estimates) duringthe first segment of the trajectory and is taken to be an integer larger then 6. (Recall, M isthe ratio between the sampling rate of the IMU and GPS-receiver). Then the error modelcan be captured by the piece-wise time-invariant model, where Ψext

k = Ψext is constantduring both segments of the trajectory, and the observation matrix is

Hextk = ∆(k) H1, k < ηM

H2, k ≥ ηM(58)

where

Hj = H −vj j = 1, 2. (59)

The observation matrix for the piece-wise constant system can written as [20] (Wo is a sizeN × 16 matrix)

Page 131: 10.1.1.63

8 RESULTS AND CONCLUSIONS E35

Wo =

H1

H1 (Ψext)M

...H1 (Ψext)M(η−1)

H2 (Ψext)Mη

...H2 (Ψext)M (N−1)

. (60)

For the system to be fully observable, Wo should have full rank. By utilizing the structureof Ψext it is straightforward to show that

(Ψext)n = I3 [Ψ]1:3,4:15 03,1

012,3 [Ψ]4:15,4:15 012,1

01,3 01,12 1

n

=

= I3 C1 03,1

012,3 C2 012,1

01,3 01,12 1

(61)

where Ci, here and in the sequel, denotes a matrix of appropriate dimension and whichelements are unknown and of no interest. Thus, since Hj = [I3 03,12 −vj ] for j = 1, 2,then

Hj (Ψext)n = I3 C3 −vj j = 1, 2 (62)

and the observability matrix will have the following form

Wo = 1 ⊗ I3 C4 −1 ⊗ v1

1 ⊗ I3 C5 −1 ⊗ v2 (63)

where ⊗ is the Kronecker product. If the navigation platform moves at constant speedthroughout the trajectory, that is, v1 = v2, then clearly Wo has not got full rank sinceWo [vT

1 0 1]T = 0. Thus, at constant speed only the linear combination of the timingerror δTd and position error δp is observable. This sound intuitively since at constantspeed the timing error causes a constant bias in the position measurements which can notbe distinguished from the true position error. However, if the velocity changes betweenthe segments such that v1 6= v2, then the last column of Wo can no longer be expressedas a linear combination of the three first columns. By further noting that Ψk in (76) isindependent of the velocity, so that matrices C4 and C5 in the middle columns of Wo, byconstruction are independent of the velocity, it is clear that the timing error is observable fortrajectories including velocity changes. Summarizing, the velocity error is observable forall trajectories that includes velocity or turns (since v are taken to be in tangent-coordinateplane, turns are indirectly changing the north and east velocity components).

8 Results and ConclusionsThe effects of time synchronization errors in a closed-loop GPS-aided INS with error feed-back have been studied in terms of the error covariance of the system. Expressions for

Page 132: 10.1.1.63

E36 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

the error covariance of the navigation system given the vehicle trajectory and a state-spacemodel of the error plant of the integrated navigation system have been derived. Further, un-der the assumption of Gaussian-distributed estimates, an error covariance expression for thecase when the time synchronization error is included in the feedback loop of the navigationfilter is derived.

Use of the two covariance expressions is illustrated by applying them to an exampleof a one-dimensional GPS-aided INS with an inherent time delay. The results from theexample show that by extending the error model used in the navigation filter to also includea state for the timing error, the effects of the timing error become negligible as the filterconverges. The correctness of the derived covariance expressions is illustrated by MonteCarlo simulations of the one-dimensional GPS-aided INS, which shows a good agreementwith analytical results calculated from the derived error covariance models. Moreover, apractical approach on how to implement the variable delay for time synchronization of theIMU and GPS-receiver data is briefly discussed.

Further, the proposed time synchronization approach using a fractional delay filter todelay the IMU data was implemented as a part of the in-house developed software for inte-gration of GPS and IMU data. The time synchronization was then tested on both simulatedand real-world data. In the case when the timing error was not considered by the integrationsoftware, the by Monte Carlo simulations empirically calculated error covariance and thosepredicted by the derived covariance expression agreed well. Whereas for the case whenthe timing error was considered by the integration filter, the derived covariance expressionsdo not manage to fully capture the transient behavior of the filter. However, as the filterconverges, the agreement improves and the effects of the timing error are removed. In thetest with real-world data, with intentionally included timing errors, time synchronizationwithin a few milliseconds was obtained. Further, the differences in maximum error duringthe simulated GPS outages indicate, that the sensor biases were better estimated when thetiming error was taken into account by the integration filter (i.e., no bias in the forwardacceleration).

To conclude, synchronization errors in the sampling instances of the GPS-receiver andIMU sensor in a GPS-aided INS can seriously degrade the performance of the system.The derived covariance expression provides an efficient way of evaluating the systems per-formance for a certain timing error and vehicle trajectory. By extending the integrationfilter to also estimate the timing error and by feeding back the estimates to synchronizethe GPS-receiver and IMU data, by means of a fractional delay filter, almost perfect timesynchronization can be achieved and the effects of the timing error cancelled.

Appendix AFrom the derived difference equation (51) for the error in the system with the extendedstate-space model it can be shown that the error covariance of the system can be written as

Pextfd,k+1 = Eze,ext

fd,k+1 (ze,extfd,k+1)

T

= Φk Pextfd,k Φ

Tk + Kp,k RL

Tk + GQG

T

+ Kp,k Πextk L

Tk − Φk Γk L

Tk

− Kp,k ΓTk Φ

Tk (64)

Page 133: 10.1.1.63

APPENDIX A E37

where

Πextk = Edext

k (dextk )T

=ad,k aT

d,k

4E(δTd,k)4 (65)

and

Γk = Eze,extfd,k (dext

k )T

= Eze,extfd,k (δTd,k)2

aTd,k

2. (66)

By assuming the state estimates to be Gaussian distributed, (65) and (66) can be rewritten interms of Pext

fd,k and ze,extfd,k =Eze,ext

fd,k by using the following expression for the expectedvalue of four jointly Gaussian variables. Let Z1, Z2, Z3, and Z4 be four jointly Gaussianvariables, then it holds that [25]

EZ1 Z2 Z3 Z4 = EZ1 Z2EZ3 Z4

+ EZ1 Z3EZ2 Z4

+ EZ1 Z4EZ2 Z3 − 2 EZ1EZ2

· EZ3EZ4. (67)

By letting Z1 = Z2 = Z3 = Z4 = δTd,k it can be shown that E(δTd,k)4 in (65) can beexpressed as

E(δTd,k)4 = 3 E(δTd,k)22 − 2 EδTd,k4. (68)

Inserting (68) into (65), Πextk can be written as

Πextk =

ad,k aTd,k

4E(δTd,k)4

=ad,k aT

d,k

4 3 E(δTd,k)22 − 2 EδTd,k

4 =

ad,k aTd,k

4 3 [Pext

fd,k]2i,i − 2 [ze,extfd,k ]4i . (69)

Here, i denotes the index of the δTd,k element in the state vector ze,extfd,k . By using (68)

again, an expression for the expectation E(δTd,k)2 ze,extf,k in (66) can be found as follows.

Consider the j-th element of Eze,extf,k (δTd,k)2 and let Z1 = Z2 = δTd,k, Z3 = [ze,ext

fd,k ]j

and Z4 = 1 (i.e Z4 is a Gaussian variable with mean 1 and with variance σ2Z4

→ 0) then

E(δTd,k)2 [ze,extfd,k ]j = E(δTd,k)2E[ze,ext

fd,k ]j

+ 2 EδTd,k E[ze,extfd,k ]j δTd,k

− E[δTd,k]E[ze,extfd,k ]j . (70)

Page 134: 10.1.1.63

E38 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

Equation (70) can be expressed in terms of the covariance matrix Pextfd,k and mean value

vector ze,extfd,k as

E(δTd,k)2 [ze,extf,k ]j = [Pext

fd,k]i,i [ze,extf,k ]j + 2 [ze,ext

f,k ]i

· ([Pextfd,k]j,i − [ze,ext

f,k ]i [ze,extf,k ]j).

(71)

Thus, the expected value of the vector E(δTd,k)2 ze,extf,k is given by

E(δTd,k)2 ze,extf,k = [Pext

fd,k]i,i ze,extf,k + [ze,ext

f,k ]i

· ( [Pextfd,k]1:α,i − [ze,ext

fd,k ]i ze,extfd,k ).

(72)

Recall, α was the length of the state vector. Inserting this into (66), then Γk can be writtenas

Γk = [Pextfd,k]i,i z

e,extf,k + 2 [ze,ext

f,k ]i

· ( [Pextfd,k]1:α,i − [ze,ext

fd,k ]i ze,extfd,k ) aT

d,k

2(73)

where

ze,extfd,k = (Ψk − Kp,k Hk) ze,ext

fd,k − Kp,k Edextk (74)

= (Ψk − Kp,k Hk) ze,extfd,k −

1

2Kp,k ak [Pext

fd,k]i,i.

Thus, under the assumption of Gaussian-distributed state estimates, the error covariance ofthe state vector in the navigation system with the augmented state vector, recursively, canbe calculated from equations (64), (69), (73), and (74).

Appendix BError model used in the software for integrating GPS and IMU data. Let the error statevector be defined as

zec = (δpn)T (δvn)T (θ)T (δf b)T (δωb

ib)T T

. (75)

Here, δpn and δvn denotes the position and velocity error, respectively. The superscript nindicates that the variables are described in the navigation coordinate frame. Further, thevector θ contains the roll, pitch, and heading error. The accelerometer and gyro sensor errorsin platform coordinates are denote δf p and δωp

ip, respectively. With the above-describedstate vector, the continuous time state transition matrix of the system becomes

Page 135: 10.1.1.63

REFERENCES E39

Ψc =

03 I3 03 03 03

03 03 S(sn) Rnp 03

03 03 03 −Rnp 03

03 03 03 03 03

03 03 03 03 03

(76)

and the process noise gain matrix

Gc =

03 03

Rnp 03

03 Rnp

03 03

03 03

. (77)

Here, S(sn) denotes the skew-symmetric matrix representation of the specific force vectorsn expressed in the navigation coordinate frame. The matrix Rn

p is the coordinate rotationmatrix transforming a vector in platform coordinates into navigation coordinates.

References[1] I. Bar-Itzhack and Y. Vitek, “The enigma of false bias detection in a strapdown system

during transfer alignment,” Journal of Guidance, Control and Dynamics, vol. 8, no. 2,pp. 175–180, Mar. 1985.

[2] H. Lee, J. Lee, and G. Jee, “Calibration of measurement delay in global position-ing system/strapdown inertial navigation system,” Journal of Guidance, Control andDynamics, vol. 25, no. 2, pp. 240–247, Mar. 2002.

[3] ——, “Effect of measurement delay on SDINS,” in Proc. PLANS, San Diego, CA,USA, Mar. 2000.

[4] ——, “Calibration of time synchronization error in GPS/SDINS hybrid navigation,”in Proc. 15th IFAC Symposium on Automatic Control in Aerospace, Bologna/Forli,Italy, Sept. 2001.

[5] B. Li, C. Rizos, H. Lee, and H. Lee, “A GPS-slaved time synchronization system forhybrid navigation,” GPS Solutions, vol. 10, no. 3, pp. 207–217, July 2006.

[6] B. Li, “A cost effective synchronization system for multisensor integration,” in Proc.ION GNSS Conf., Long Beach, USA, Sept. 2004.

[7] W. Ding, J. Wang, P. Mumford, Y. Li, and C. Rizos, “Time synchronization designfor integrated positioning and georeferencing systems,” in Proc. SSC 2005 SpatialIntelligence, Innovation and Praxis: The national biennial Conference of the SpatialSciences Institute, Melbourne, Australia, Sept. 2005.

[8] J. Farrell and M. Barth, The Global Positioning System and Inertial Navigation.McGraw-Hill, 1998.

[9] M. Grewal, L. Weill, and A. Andrews, Global Positioning Systems, Inertial Navigationand Integration. Wiley, 2001.

[10] R. Rogers, Applied Mathematics in Integrated Navigation systems. AIAA EducationSeries, 2003.

Page 136: 10.1.1.63

E40 TIME SYNCHRONIZATION ERRORS IN GPS-AIDED INERTIAL NAVIGATION SYSTEMS

[11] Chatfield, Fundamentals of High Accuracy Inertial Navigation. AIAA, 1997.

[12] I. Skog and P. Handel, “A low-cost GPS aided inertial navigation system for vehicleapplications,” in Proc. EUSIPCO 2005, Antalya, Turkey, Sept. 2005.

[13] R. Brown and A. Sage, “Estimation using stochastic feedback with applications tointegrated navigation systems,” IEEE Trans. on Aerospace and Electronic Systems,vol. 7, no. 2, pp. 355–, Mar. 1971.

[14] G. Fox, “On the physics of drag racing,” American Journal of Physics, vol. 41, no. 3,pp. 311–313, Mar. 1973.

[15] T. Laakso, V. Valimaki, M. Karjalainen, and U. Laine, “Splitting the unit delay[FIR/all pass filters design],” IEEE Signal Processing Magazine, vol. 13, pp. 30–60,Jan. 1996.

[16] V. Valimaki, “A new filter implementation strategy for Lagrange interpolation,” inIEEE International Symposium on Circuits and Systems, ISCAS ’95, Seattle, WA,USA, May 1995.

[17] I. Skog, A. Schumacher, and P. Handel, “A versatile PC-based platform for inertialnavigation,” in Proc. NORSIG 2006, Reykjavik, Iceland, June 2006.

[18] S. Winkler and P. Vorsmann, “Multi-sensor data fusion for small autonomous un-manned aircraft,” European Journal of Navigation, vol. 5, no. 2, pp. 32–41, May2007.

[19] N. El-Sheimy and X. Niu, “The promise of MEMS to the navigation cummunity,”InsideGPS, pp. 46–56, March/April 2007.

[20] D. Goshen-Meskin and I. Bar-Itzhack, “Observability analysis of piece-wise constantsystems-part 1: Theory,” IEEE Trans. on Aerospace and Electronic Systems, vol. 28,no. 4, pp. 1056–1067, Oct. 1992.

[21] ——, “Observability analysis of piece-wise constant systems-part 2: Application toinertial navigation in-flight alignment,” IEEE Trans. on Aerospace and Electronic Sys-tems, vol. 28, no. 4, pp. 1068–1075, Oct. 1992.

[22] S. Hong, M. Lee, H. Chun, S. Kwon, and J. Speyer, “Observability of error states inGPS/INS integration,” IEEE Trans. on Veh. Techn., vol. 54, no. 2, pp. 731–743, Mar.2005.

[23] I. Rhee, M. Abdel-Hafez, and J. Speyer, “Observability of an integrated GPS/INSduring maneuvers,” IEEE Trans. on Aerospace and Electronic Systems, vol. 40, no. 2,pp. 526–535, Apr. 2004.

[24] K. Astrom and B. Wittenmark, Computer Controlled Systems: Theory and Design.Prentice Hall, 1984.

[25] W. Bar and F. Dittrich, “Useful formula for moment computation of normal randomvariables with non-zero means,” IEEE Trans. on Automatic Control, vol. AC-16, pp.263–265, 1971.