Professional Documents
Culture Documents
August 2000
Australian Centre for Field Robotics
Department of Mechanical and Mechatronic Engineering
The University of Sydney
This thesis is submitted to The University of Sydney in fulllment of the requirements for the degree of Doctor of Philosophy. The thesis is entirely my own work
and, except where otherwise stated, describes my original research.
Xiaoying Kong
Abstract
This thesis describes the development of strapdown Inertial Navigation System (INS)
algorithms for low cost Inertial Measurement Units (IMU). The term \low cost IMU"
is used to describe an IMU built with standard low grade gyros and accelerometers
which cannot conduct self-alignment. These algorithms motivated the development of
the INS error models and the Global Positioning System (GPS) error models for low
cost aiding in autonomous navigation.
This thesis has three principle contributions. The rst is the development of strapdown
INS velocity, position and attitude error propagation models for large angle errors in
the computer frame approach. There are two sets of the models. The rst set uses
psi angles to describe attitude errors. The other uses quaternions. These models dier
from other INS error models that they do not require small angle assumptions. The
second contribution is the development of low cost INS algorithms using the INS error
models developed in this thesis. There are two algorithms which use the two sets of INS
models. The main contribution of these algorithms is the in-motion alignment approach
with unknown initial conditions. The implementation of the algorithm using the psi
angle model involves the Extended Kalman Filter (EKF). The quaternions algorithm
uses the Distribution Approximation Filter (DAF). GPS measurements are used to aid
INS. It is argued that the quaternions approach gives better accuracy and requires less
computation. The third contribution is the GPS modelling in the frequency domain.
The equations of GPS position errors are derived to be identical second order systems
in the frequency domain. Feedback and feedforward lters for GPS error de-correlation
using INS information are presented.
The theoretical work is veried by a set of experiments using real data. A standard
GPS is used to verify the GPS modelling. The experimental results using a low cost
IMU and an aiding DGPS have shown that position, velocity and attitude accuracy
can be achieved using the algorithms presented in this thesis.
Acknowledgments
I would like to thank all the people who encouraged and supported me during the
undertaking of this thesis.
Firstly I would like to thank Professor Hugh Durrant-Whyte, the leader of the Australia
Centre of Field Robotics, for giving me the opportunity to pursue PhD study at the
University of Sydney. Hugh's support and expertise have proved invaluable. I would
like to thank my supervisor, Dr. Eduardo Nebot, for his unwavering enthusiasm and
support. Eduardo's expertise and support have also been invaluable.
There are many people I would like to thank for their many and varied inputs. Thanks
goes to the entire Sydney University mechatronics crowd: Kee-Choon Wong, David
Rye, Gamini Dissanayake, Julio Rosenblatt, Ha Quang, Chris Mifsud, Michael Stevens,
Raj Madhavan, Jose Guivant, Paul Newman, Som Majumder, Miguel Santos, Stefan
Baiker, Monica Louda, Eric Nettleton, Keith Willis, Adrian Bonchis, Tim Bailey, Steve
Clark, Mihaly Csorba, Mohamad Bozorg and Daniel Pagac. Special thanks to Steve
Scheding and Stefan Williams for frequently correcting my English, to Simon Julier for
discussing the lters, to Salah Sukkarieh for hardware support, to K.Y. Lee for xing
my computer, to Nguyen Hong Quang and Anh Tuan Le for being friends, and to Grace
Wong and Lynda Brown for their spiritual encouragement.
I owe my greatest debt to my parents who have been looking after my baby girl overseas.
I would like to express my deepest gratitude to my husband, without his love and
encouragement and moral support, I could not have nished the study.
ii
Contents
Abstract
Acknowledgments
Contents
List of Figures
1 Introduction
1.1
1.2
1.3
1.4
1.5
1.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 INS Error Models Review . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 INS Error Models Review . . . . . . . . . . . . . . . . . . .
2.2.2 INS Error Models for Azimuth Uncertainty . . . . . . . . .
2.2.3 Quaternion Error Models Review . . . . . . . . . . . . . . .
2.2.4 Psi Angle Approach Review . . . . . . . . . . . . . . . . . .
2.2.5 Phi Angle Approach . . . . . . . . . . . . . . . . . . . . . .
2.2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Development of Psi Angle Model for Large Errors . . . . . . . . . .
2.3.1 Velocity Error Propagation Model . . . . . . . . . . . . . .
2.3.2 Position Error Propagation Model . . . . . . . . . . . . . .
2.3.3 Psi Angle Error Model . . . . . . . . . . . . . . . . . . . . .
2.4 Development of INS Error Models Using the Quaternion Approach
2.4.1 Quaternions and Coordinate Systems . . . . . . . . . . . .
2.4.2 Velocity Error Propagation Model . . . . . . . . . . . . . .
2.4.3 Position Error Propagation Model . . . . . . . . . . . . . .
2.4.4 Quaternion Error Propagation Model . . . . . . . . . . . .
2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
i
ii
v
ix
1
1
1
3
6
7
8
11
11
12
12
13
15
16
19
22
22
23
25
25
31
31
33
34
34
36
CONTENTS
iv
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 GPS Frequency Domain Modelling Review . . . . . . . . . . . .
3.2.1 GPS Receiver Clock Oset Model . . . . . . . . . . . .
3.2.2 GPS Correlated Error Model . . . . . . . . . . . . . . .
3.3 GPS Position Model . . . . . . . . . . . . . . . . . . . . . . . .
3.4 GPS Position Error Modelling Using PSD . . . . . . . . . . . .
3.4.1 Power Spectral Density and Autocorrelation of Signals .
3.4.2 Error Modelling Using PSD and Autocorrelation . . . .
3.5 De-correlate GPS Noise Using INS . . . . . . . . . . . . . . . .
3.5.1 Shaping Filter . . . . . . . . . . . . . . . . . . . . . . .
3.5.2 De-correlation of GPS Noise Using Feedforward Filter .
3.5.3 De-correlation Using Indirect Feedback Filter . . . . . .
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Self-alignment Review . . . . . . . . . . . . . . . . . . .
4.2.2 In-motion Alignment Review . . . . . . . . . . . . . . .
4.2.3 Large Misalignment Problem Review . . . . . . . . . . .
4.3 Coarse Alignment . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Raw Data Process . . . . . . . . . . . . . . . . . . . . .
4.3.2 Coarse Leveling - Initial Direction Cosine Matrix . . . .
4.4 In-motion Alignment: Solution of Initial Attitude Uncertainty .
4.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . .
4.4.2 Filter States . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.3 Filter Equations . . . . . . . . . . . . . . . . . . . . . .
4.4.4 Discrete Filter and Jacobian Matrix . . . . . . . . . . .
4.4.5 Filter Implementation Using the EKF . . . . . . . . . .
4.5 Navigation Stage: Continue Alignment and Calibration . . . .
4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
38
38
39
40
41
43
48
48
49
53
53
56
64
66
70
70
71
72
74
75
76
78
83
85
85
87
87
97
101
104
104
105
105
106
106
108
109
110
110
112
112
114
118
121
CONTENTS
6 Experimental Results
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . .
6.2 GPS Position Modelling Results . . . . . . . . . .
6.2.1 Model Results . . . . . . . . . . . . . . . .
6.2.2 Model Validation . . . . . . . . . . . . . . .
6.3 Experimental Results of the Psi Angle Approach .
6.4 Experimental Results of the Quaternion Algorithm
6.5 Summary . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Summary of Each Chapter . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.1 INS Error Modelling in Psi Angle Approach . . . . . . . . . . . .
7.3.2 INS Error Modelling Using the Quaternion Approach . . . . . .
7.3.3 GPS Modelling in Frequency Domain . . . . . . . . . . . . . . .
7.3.4 INS Algorithm for Low Cost IMU Using Psi Angle Approach . .
7.3.5 INS Algorithm for Low Cost IMU Using Quaternion Model . . .
7.4 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.1 DGPS Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.2 Experimental Implementation of the INS Algorithms with Three
Unknown Attitudes . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.3 Self Tuning Filters . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.4 Phi Angle Model for Large Attitude Errors . . . . . . . . . . . .
Bibliography
122
124
128
131
132
132
133
133
136
144
153
159
160
160
160
164
164
164
165
165
166
166
166
167
167
167
168
List of Figures
1.1 Inertial Navigation System . . . . . . . . . . . . . . . . . . . . . . . . .
2.1
2.2
2.3
2.4
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
vi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
17
19
21
31
43
44
50
50
53
54
54
57
57
60
61
62
62
63
64
65
66
67
67
68
LIST OF FIGURES
vii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
79
80
80
83
84
85
88
.
.
.
.
.
107
108
112
113
125
134
134
135
135
136
137
137
138
138
139
139
140
141
141
142
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
INS
ow chart . . . . . . . . . . . . . . . . . . . . . . .
Raw data of accelerometer x and gyro x. . . . . . . . . .
Quaternions' orthogonality . . . . . . . . . . . . . . . .
Flow chart of the quaternion approach. . . . . . . . . . .
The principle of the Distribution Approximation Filter .
77
78
142
143
LIST OF FIGURES
6.18
6.19
6.20
6.21
6.22
6.23
6.24
6.25
6.26
6.27
6.28
6.29
6.30
6.31
6.32
6.33
6.34
6.35
6.36
6.37
6.38
6.39
6.40
viii
143
145
146
146
147
147
148
149
149
150
150
151
152
152
154
154
155
155
156
157
157
158
158
LIST OF FIGURES
ix
6.41 INS Position and heading corrections can be seen in the curve between
two GPS position outputs. . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Chapter 1
Introduction
1.1 The Objectives of this Thesis
This thesis develops algorithms for low cost inertial navigation systems (INS) based on
INS error propagation models. The algorithms are intended for use by a low cost inertial measurement unit (IMU) to provide accurate navigation information, as position,
velocity and attitude, of the vehicle which carries the INS. The term \low cost IMU"
is used to describe an IMU built with standard low grade gyros and accelerometers.
To achieve the goal of algorithm development, three issues are addressed in this
thesis:
Development of INS error models appropriate for low cost IMUs which determine
the accuracy and behaviour of the INS.
Inertial frame ( i-frame) is the frame in inertial space. Its origin is at the centre
of the Earth and axes are non-rotating with respect to the xed stars.
Earth frame (e-frame) is an earth-xed frame whose origin is at the Earth centre,
x axis points to the north pole, y axis points to the Greenwich meridian in the
equatorial plane and the z axis completes the system to a right-hand coordinate
system.
Body frame ( b-frame) is a frame xed to the vehicle. The accelerations and
angular rates generated by the strapdown accelerometers and gyros are measured
in b;frame.
Computer frame ( c-frame) is the local level frame at the INS computed position.
Platform frame ( p-frame) is the frame in which the transformed accelerations
from the accelerometers and angular rates from the gyros are solved.
True frame ( t-frame) is the true local level frame at the true position.
Navigation frame ( n-frame) is a user dened frame for navigation output. Any
frame dened above can be chosen as the navigation frame.
The schema of these frames are shown in the following chapters.
The Global Positioning System (GPS) is another navigation source used in this
thesis. The World Geodetic System WGS-84 is a coordinate system for GPS. WGS-84
is an Earth-centred Earth-xed reference frame dened as follows [2]:
Origin: Earth's centre of mass.
z -axis: Parallel to the direction of the conventional international origin for polar
motion, as dened by the Bureau International De L'HEURE (BIH) on the basis of the
latitudes adopted for the BIH stations.
x-axis: Intersection of the WGS-84 reference meridian plane and the plane of the
mean astronomic equator, the reference meridian being parallel to the zero meridian
dened by the Bureau International De L'HEURE on the basis of the longitudes adopted
for the BIH stations.
y-axis: Completes a right-handed Earth-centred, Earth-xed orthogonal coordinate
system, measured in the plan of the mean astronomic equator 90 degrees east of the
x-axis.
The lter models are expanded using Jacobians. However, there are some problems
with the EKF [19]. The implementation diculty of Jacobians is one shortcoming of
the EKF. The problems of the EKF motivated the development of a new lter algorithm
called the Distribution Approximation Filter (DAF) [19, 20, 21, 22, 23].
In this thesis, the EKF and DAF are used for the two INS algorithms respectively.
The algorithm with the psi angle model as the process model will use the EKF. The
quaternions model algorithm will use the DAF.
INS provides high frequency information and is considered a dead reckoning sensor
with an error that grows unbounded with time. External navigation sensors commonly
aid INS. GPS can provide low frequency navigation information without drift over time.
The integration of INS and GPS has been widely used for navigation. In this thesis,
GPS is used for observation to aid the INS.
There are important error sources in GPS measurement. GPS errors should be
modelled and estimated in the lter. This thesis presents new GPS shaping lters
which describe the GPS frequency characters.
The development of psi angle models in computer frame for large attitude errors.
The development of quaternion models for large attitude errors.
GPS modelling in the frequency domain.
The development of an INS algorithm for low cost IMU using the psi angle approach.
The development of an INS algorithm for low cost IMU using the quaternion
approach.
10
Chapter 2
12
frames used in this approach are discussed in Section 2.4.1. The velocity error model
in the quaternion approach is developed in Section 2.4.2. The quaternion error propagation models for large misalignment of the p;frame and the c;frame are extended in
Section 2.4.4.
13
14
(2.1)
with the psi angle [ x ; y ; z ]T being the misalignment of the computer frame and the
platform frame.
The psi angle model for large azimuth misalignment is derived as:
2
_ e = ;
6
6
6
6
4
(!icc )e+
7
7
7
7
5
6
6
6
6
4
021
; ; ; e + !x y ; !y
014
7
7
7
7
5
6
6
6
6
4
"p
; ;;;
0
3
7
7
7
7
5
(2.2)
where (!icc )e+ is the extended 1 4 vector of the rate between the computer frame.
"p is gyro error in p-frame and the inertial frame. [!x; !y ; !z ]T is the vector of the
15
misalignment angular rate. For small azimuth misalignment, the error model turns to:
2
6
(!icc )e+
"p
3
7
7
7
6
6
(2.3)
_ e = ; 66 ; ; ; 77 e ; 66 ; ; ; 77
5
5
4
4
014
0
which has a similar form to the psi angle model developed in the literature by Benson
[5] and Bar-Ithzack [24].
General INS error propagation models for all large angles have not been investigated
in the past. Models in the quaternion form have not been thoroughly investigated either.
In this chapter, general error models for three large attitude errors will be developed.
Two approaches are used in the error models: the psi angle approach and the quaternion
approach.
16
In 1998, Lee, Roh and Park [13] proposed equivalent tilt error models which were
applicable to the analysis of the terrestrial strapdown inertial navigation system based
on quaternions. In this work the computer approach was used. To derive the velocity and the attitude error models, small angle assumptions were considered to satisfy
equivalent tilt angle denition.
In situations where initial attitudes are unknown or large attitude perturbation
occurs, the previous INS error models will not satisfy the small angle assumption. So
far, to the best of the author's knowledge there are no large error models employing
quaternions.
In this chapter, an INS velocity error model, a position error model and an attitude
error model are developed in the quaternion method in the computer frame. The
velocity error propagation is presented using quaternions. Attitude errors are presented
by the misalignment of the computer frame and the platform frame. Quaternion errors
are solved in the computer frame. No small angle assumption is made in the model
development. The models are suitable for both three small and large attitude errors
cases.
17
Computer Zc Up
Frame
Zp
y
Platform
Frame
Yp
x
Yc
North
z
East
Xc
Xp
Figure 2.1: Computer frame, platform frame and three psi angles.
(2.4)
where Vtc = [Vtxc ; Vtyc ; Vtzc ]T is the true velocity in the c-frame, ftc is the true specic force
in the c-frame, gtc is the true gravity in the c-frame,
cie is the earth rate in the c-frame
and
cec is the rotation rate from the c-frame to the earth frame. In the following b
represents observation and represents error.
cie and
cec are the skew symmetric matrices of !iec and !ecc . In the east-north-up
frame with the local latitude ' :
2
!iec =
6
6
6
6
4
!ie cos(')
!ie sin(')
3
7
7
7
7
5
(2.5)
18
2
;Vyc=Ry
Vxc=Rx
Vxctg(')=Rx
6
!ecc = 66
4
7
7
7
7
5
(2.6)
where V c = [Vxc; Vyc ; Vzc ]T is the INS velocity in the computer frame. R = [Rx ; Ry ; Rz ]T
is the vector from the earth centre to the vehicle position.
The INS solves the following velocity V^ c :
c
(2.7)
where ftp is the true specic force in the p-frame and rp is the specic force error due
to accelerometers' errors.
Assuming the psi angles are small, the velocity errors are solved in the c-frame by
subtracting (2.7) from (2.4) :
V_ c = ; ftc + rp + gc ; (2
cie +
cec)V c
is the skew symmetric matrix of angles given by:
2
6
6
6
6
4
z
y
(2.8)
3
7
7
7
7
5
(2.9)
(2.10)
!s is the Schuler frequency dened as !s = g=re , being g the gravity constant and re
the earth radius.
(2.11)
19
Up
Zt
True
Frame
Zp
y
Platform
Frame
Yp
x
Yt
North
z
East
Xt
Xp
(2.12)
where _p is the angular velocity of the p;frame with respect to the c-frame, p is the
gyro drift rate in the platform frame. !ipp is the angular velocity of the p;frame in the
p;frame with respect to the inertial frame (i;frame).
20
(2.13)
where Vtt = [Vxt ; Vyt ; Vzt ]T is the true velocity in the t-frame, ftt is the true specic force
in the t-frame, gtt is the true gravity in the t-frame,
tie is the earth rate in the t-frame
and
tec is the rotation rate from the c-frame with respect to the earth frame. Also
tie
and
tec are the skew symmetric matrices of !iet and !ect .
Considering the same sources of errors, the INS velocity is:
t
(2.14)
=
6
6
6
6
4
;z y
0 ;x
z
;y x
3
7
7
7
7
5
(2.15)
For small phi angles, the direction cosine matrix between the p;frame and the
t;frame holds the relationship:
2
Cpt =
6
6
6
6
4
;z y 7
7
1 ;x 77 = I33 ;
z
;y x
(2.16)
(2.17)
21
= ;
(2.18)
Identify ! as:
! = + !itt
(2.19)
22
(2.20)
2.2.6 Summary
The INS error models have been categorized into two identical approaches: the psi
angle approach and the phi angle approach. Most of the models make the small angle
assumption. Recently, there has been some work on error models assuming small tilts
and large heading errors. To the best of the author's knowledge, INS error propagation
models with three large attitude errors have not been presented before. The goal of
this chapter is to develop an INS velocity error propagation model, a position error
propagation model and a psi angle error model in the computer frame for all large
attitude errors. The error models in quaternion form will also be developed in this
chapter. The applications of these models will be discussed in the following chapters.
23
(2.21)
(2.22)
where ftp is the true specic force in the p-frame and rp is the specic force error due
to the errors of the accelerometers.
Subtracting (2.22) by (2.21), the velocity error V c = V^ c ; Vtc solved in the c-frame
is given by
V_ c = ftp ; ftc + rp + gc ; (2
cie +
cec)V c
(2.23)
The specic forces in the c-frame (ftc) and the p-frame (f pt) have the following
relationship:
ftc = Cpc f pt
(2.24)
ftp = Ccp f ct
(2.25)
where Cpc is the direction cosine matrix (DCM) between the p-frame and the c-frame
and Ccp = (Cpc );1 . Therefore the velocity error model is:
V_ c = (Ccp ; I33 )ftc + rp + gc ; (2
cie +
cec)V c
(2.26)
(2.27)
Let
sx = sin( x ); cx = cos( x )
sy = sin( y ); cy = cos( y )
sz = sin( z ); cz = cos( z )
(2.28)
24
6
6
6
6
4
7
7
7
7
5
cy cz ; sy sx sz ;cxsz sy cz + cy sxsz
Cpc = cy sz + sy sxcz cx cz sy sz ; cy sxcz
;sy cx
sx
cy cx
(2.29)
The specic force is transferred to the p;frame using (2.27) instead of (2.26).
Equations (2.27) and (2.29) present the general velocity error propagation model
for large attitude errors.
In the case when x , y and z are all small, Cpc can be simplied.
sx = sin( x ) = x; cx = cos( x) = 1
(2.30)
sy = sin( y ) = y ; cy = cos( y ) = 1
sz = sin( z ) = z ; cz = cos( z ) = 1
and
sin( x ) sin( y ) = sin( y ) sin( z ) = sin( z ) sin( x ) = 0
(2.31)
Cpc = I33 +
(2.32)
Ccp = I33 ;
(2.33)
Thus:
(2.34)
= ; ftc + rp + gc ; (2
cie +
cec)V c
(2.35)
Equations (2.34) or (2.35) and (2.32) or (2.33) are identical to the velocity error
model usually presented in the literature.
25
It is important to study the case of large uncertainties in heading and low uncertainties in tilt angles, that is large z and small x and y angles. With this assumption,
Cpc in (2.27) can be approximated by [31]:
2
Cpc =
6
6
6
6
4
;sz
;cz
cz
sz
y cz + x sz
y sz ; x cz
3
7
7
7
7
5
(2.36)
Then the matrix I33 ; Cpc in the velocity error model is given by:
2
I33 ; Cpc =
6
6
6
6
4
1 ; cos z sin z
; x sin z ; y cos z
; sin( z ) 1 ; cos( z ) + x cos( z ) ; y sin( z )
; x
0
y
3
7
7
7
7
5
(2.37)
The velocity error model with large heading error and small tilt errors is:
2
1 ; cos( z ) sin( z )
; x sin( z ) ; y cos( z ) 7
7
V_ c = ; sin( z ) 1 ; cos( z ) + x cos( z ) ; y sin( z ) 77 ftp
5
; x
0
y
+ rc + gc ; (2
cie +
cec)V c
6
6
6
6
4
(2.38)
(2.39)
C_bc = Cbc
bib ;
cicCbc
(2.40)
26
The INS solves Cbp , which is the direction cosine matrix from the b-frame to the
p-frame, using measured gyro rates
^ bib provided by the IMU:
C_bp = Cbp
^ bib ;
cicCbp
(2.41)
The rates
^ bib contain gyro drift errors 2b :
^ bib =
bib + 2b
(2.42)
2b is the skew symmetric matrix of the gyro drift vector [bx; by ; bz ]T in the body frame:
2
2b=
6
6
6
6
4
bz
;bz
0
;by bx
by
;bx
0
3
7
7
7
7
5
(2.43)
Let
C = Cbp ; Cbc
(2.44)
Then
C = Cbp ; Cbc
(2.45)
= (I33 ; Cpc)Cbp
(2.46)
_C can be derived from (2.46) and (2.41). Dierentiating equation (2.46), we have:
_C = (I33 ; Cpc)C_bp ; C_pcCbp
= (I33 ; Cpc)(Cbp
^ bib ;
cicCbp) ; C_pcCbp
(2.47)
= Cbp
^ bib ;
cicCbp ; CpcCbp
^ bib + Cpc
cic Cbp ; C_pcCbp
_C can also be obtained directly from C = Cbp ; Cbc. Dierentiating Cbp and Cbc
we get:
_C = C_bp ; C_bc
= Cbp
^ bib ;
cic Cbp ; Cbc
bib +
cic Cbc
= Cbp
^ bib ;
cic Cbp ; CpcCbp
bib +
cic CpcCbp
(2.48)
(2.49)
27
Cbp
^ bib ;
cicCbp ; Cpc Cbp
^ bib + Cpc
cicCbp ; C_pcCbp
= Cbp
^ bib ;
cicCbp ; CpcCbp
bib +
cic CpcCbp
Therefore
^ bib =
bib + 2b
(2.50)
(2.51)
Let 2p and 2c be the skew symmetric matrices of the gyro drift error vector in the
platform frame and the computer frame respectively:
2
;pz py 7
;cz cy
6
6 0
6
7
6
2p= 66 pz 0 ;px 77 ; 2c= 66 cz 0 ;cx
4
5
4
;py px 0
;cy cx 0
0
3
7
7
7
7
5
(2.52)
b ppb =
ppb + 2p
(2.53)
b bpb =
bpb+ 2b
(2.54)
b ppb = Cbp
b bpbCpb
(2.55)
(2.56)
28
ppb = Cbp
bpbCpb
(2.57)
(2.58)
(2.59)
(2.60)
Replacing the term CpcCbp 2b Cbp in (2.51) with (2.59) and (2.60):
CpcCbp 2b Cbp =
(2.61)
= Cpc(Cbp 2b Cbp )
= Cpc 2p
=2c Cpc
(2.62)
Cpc
pcp+ 2c Cpc ; Cpc
cic +
cic Cpc = 0
(2.63)
(2.64)
(2.65)
29
And
Ccp
cicCpc =
pic
(2.66)
pcp+ 2p ;
cic +
pic = 0
(2.67)
pcp+ 2p ;
cic +
pic are the sum of skew symmetric matrices of !cp
ic
ic
Equation (2.67) can then be written in the following 31 vector form:
(2.68)
(2.69)
=0
(2.70)
That is:
(2.71)
p = _ being the angular rate between the c;frame and the p;frame solved in
with !cp
the p;frame. Therefore:
(2.72)
Equation (2.72) is the general psi-angle error model that can be used for large or
small angle errors.
When x ; y and z are all small,
2
Ccp =
6
6
6
6
4
;
y
z
z
x
x
7
7
7
7
5
(2.73)
Equation (2.71) can be converted to small psi-angle model which is usually presented
in the literature:
_ = !icc ; p
(2.74)
30
3
7
7
7
7
5
(2.75)
(2.76)
1 ; cz
+ sz
where !icc is given by:
;sz
1 ; cz
; xsz ; y cz + xcz ; y sz 0
2
6
6
!icc = 66
4
(2.77)
;Vyc=Ry
Vxc=Rx + !ie cos(')
Vxctg(')=Rx + !ie sin(')
7
7
7
7
5
!icc
3
7
7
7
7
5
(2.78)
In this section, the INS propagation error models in velocity, position and attitude
for large attitude errors have been developed in the computer frame in the psi angle
approach. The models are identical to their corresponding small angle models when
the attitude errors are all small. INS error models using the quaternion approach will
be developed in the next section.
6
C (Qpb) = 66
4
qb20 + qb21 ; qb22 ; qb23 2(qb1 qb2 ; qb0 qb3) 2(qb1 qb3 + qb0 qb2 )
2(qb1 qb2 + qb0 qb3 ) qb20 ; qb21 + qb22 ; qb23 2(qb2 qb3 ; qb0 qb1 )
2(qb1 qb3 ; qb0 qb2 ) 2(qb2 qb3 + qb0 qb1 ) qb20 ; qb21 ; qb22 + qb23
3
7
7
7
7
5
(2.79)
(2.80)
The computer frame is the local level frame at the INS computed position. The
rotation from the platform frame to the computer frame is represented by quaternion
Qcp :
(2.81)
The transformation from the platform frame to the computer frame is given by the
matrix C (Qcp):
2
2 2 2 2 2(q1 q2 ; q0 q3 )
2(q1 q3 + q0 q2 )
6 q0 + q 1 ; q 2 ; q 3
6
C (Qcp ) = 66 2(q1 q2 + q0 q3 ) q02 ; q12 + q22 ; q32 2(q2 q3 ; q0 q1 )
4
2(q1 q3 ; q0 q2 )
2(q2 q3 + q0 q1 ) q02 ; q12 ; q22 + q32
3
7
7
7
7
5
(2.82)
The transformation from the body frame to the computer frame is represented by
the quaternion Qcb : This rotation can be considered as two consecutive rotations from
the body frame to the platform frame, then to the computer frame. Thus:
Qcb = Qcp
Qpb
(2.83)
where
represents the quaternion multiplication. The transformation matrix C (Qcb )
is equal to the product of two transformation matrices.
(2.84)
The inconsistencies of the platform frame and the computer frame cause the navigation quaternion error Qpb . Likewise the psi angles which are the misalignment angles between the platform frame and the computer frame, quaternion Qcp consequently stands
for the inconsistency of the p;frame and the c;frame. The attitude error model is
therefore transferred to the modelling of the quaternion Qcp .
(2.85)
where ftc is the true specic force resolved in the computer frame, gtc is the gravity
vector resolved in the computer frame,
cie is the matrix of the earth rate resolved in
the computer frame and
cec is the matrix representing the rotation from the computer
frame to the earth frame.
Due to the existence of the error sources, the INS computes the following velocity:
c
(2.86)
where ftp is the true specic force resolved in the platform frame. rp is the bias of the
accelerometers in the platform frame and bgc is the computed gravity vector.
Let V c = Vbtc ; Vtc be the velocity error. The velocity error propagation model is
obtained by subtracting (2.85) from (2.86):
Then:
c
V_ c = V^_ t ; V_tc
(2.87)
(2.88)
This model is applicable to the full range of misalignment angles without small
angle errors assumption.
(2.89)
Q_ cp = 21
cppQcp
(2.90)
cpp =
6
6
6
6
6
6
6
4
0 ; _x ; _y ; _z
_x 0
_z ; _y
_y ; _z 0
_x
_z _y ; _x 0
3
7
7
7
7
7
7
7
5
(2.91)
Q_ cp = 21
cppQcp
2
= 12
6
6
6
6
6
6
6
4
2
= 12
6
6
6
6
6
6
6
4
2
76
76
76
76
76
76
76
54
3
; _ xq1 ; _ y q2 ; _ z q3
_ x q0 + _ z q2 ; _ y q3
_ y q0 ; _ z q1 + _ x q3
_ z q0 + _ y q1 ; _ x q2
Let
32
0 ; _x ; _y ; _z
_x 0
_z ; _y
_y ; _z 0
_x
_z _y ; _x 0
_x
_y
_z
2
6
6
Q_ cp = B 66
4
_x
_y
_z
7
7
7
7
7
7
7
5
7
7
7
7
7
7
7
5
2
7
76
76
76
76
74
7
5
q0
q1
q2
q3
3
7
7
7
7
5
(2.92)
3
7
7
7
7
7
7
7
5
(2.93)
3
7
7
7
7
5
=B _
(2.94)
The general psi angle model when all the psi angles are large is given by:
_ = (I ; Ccp)!icc ; p
(2.95)
2.5 Summary
36
The direction cosine matrix Ccp which is the transformation matrix from the computer frame to the platform frame can be converted into the quaternions form as C (Qpc) :
2
6
6
C (Qpc ) = 66
4
3
7
7
7
7
5
(2.96)
Therefore, the quaternion model is derived from the psi angle model:
Q_ cp = B _
= B [(I ; C (Qpc ))!icc ; p]
(2.97)
(2.98)
That is
Equations (2.98), (2.96) and (2.93) give the general quaternion error model without
small angle assumption. The term p is the gyro error resolved in the platform frame,
!icc is given by:
2
!icc =
6
6
6
6
4
7
7
7
7
5
6
6
6
6
4
!ie cos(') +
!ie sin(')
;Vyc=Ry
Vxc =Rx
Vxc tg(')=Rx
3
7
7
7
7
5
(2.99)
with !ie being the earth rate, ' the local latitude. Rx and Ry are the earth radius elements in the east and north direction in the c-frame. The INS velocity vector
[Vxc ; Vyc ; Vzc]T is resolved in the computer frame.
In this section, the INS velocity, position and attitude error propagation models for
large attitude errors were developed in the quaternion approach in the computer frame.
2.5 Summary
In this chapter INS error propagation models of velocity, position and attitude for
large attitude errors were developed. The models proposed are based on the psi angle
2.5 Summary
37
method and the quaternion method. The error models using psi angles are for the
navigation using the direction cosine matrix. The quaternion models are for navigation
using quaternions.
There were no small angle assumptions in the development of these two sets of
models. These models become essential when the INS attitude errors are large. In the
later chapters, two INS algorithms using these models for INS in-motion alignment and
calibration are presented.
Chapter 3
39
density of noise is described in Section 3.4. Section 3.5 describes the de-correlation of
GPS coloured noise. A shaping lter is introduced to facilitate the de-correlation task
using an additional sensor. Dierent types of feedforward and feedback lter structures
are proposed and the results are presented in the frequency and time domains.
40
as
R = % + c t + n
(3.1)
where R is the pseudo range to the satellite, % is the true range, c is the speed of
light, t is the receiver clock error and n is the correlated noise. Errors contained
in the pseudo range measurement can be divided into the following main categories
[33]: space vehicle clock errors, atmospheric delays, group delay, ephemeris errors,
multipath, receiver noise and resolution, receiver vehicle dynamics. The Dierential
GPS (DGPS) is a method to correct the eects of measurement errors. This method can
help increase receiver accuracy from 100 metres to metres. The dierential corrections
are calculated at a base station away from the user receiver. In a case where the DGPS
correction is unavailable or in between the correction update time, it is necessary for
the characteristics of the errors to be modelled. Some error modelling methods have
appeared in the literature [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44]. To the best of the
author's knowledge, there is no GPS error modelling theory using the receiver position
directly in the frequency domain.
ct_(t)
ct(t)
7
5
= 64
0 1
0 0
32
76
54
ct(t) 7 6 1 0
5+4
c_ t(t)
0 1
32
76
54
wp (t)
wv (t)
3
7
5
(3.2)
where c is the light speed, t(t) is the receiver clock oset at time t, wp (t) and wv (t)
are process noise.
41
(3.3)
The transfer function (3.3) can be converted to state space form so that the correlated
noise can be estimated along with the original lter states. For a single satellite, the
correlated noise in the pseudo range at time t is estimated as:
2
6
4
x_ 1 (t) 7 6 ;2k 1
5=4
x_ 2 (t)
;2 0
32
76
54
x1 (t) 7 6 r 7
5+4
5 wr (t)
x2 (t)
r
(3.4)
where x1 (t) is the state of interest, x2 (t) is the augmented state, wr (t) is a white noise
series, ; k; r and are the model parameters in (3.3).
Hence, the GPS error propagation model for a single satellite is:
ct(t) 7
6
6
7
6
c_ t(t) 77
6
x(t) =
7 ; Fr = 6
7
6
x1(t) 7
6
5
4
x2(t)
6
6
6
6
6
6
6
4
and
Gr =
6
6
6
6
6
6
6
4
1
0
0
0
0
1
0
0
0
0
r
r
3
7
7
7
7
7
7
7
5
0
0
0
0
1
0
0
0
(3.5)
0 0
0 0
;2k 1
;2 0
6 wp (t)
6
; ur (t) = 66 wv (t)
4
wr (t)
3
7
7
7
7
7
7
7
5
(3.6)
3
7
7
7
7
5
(3.7)
42
In the example an INS was used as an external sensor, the INS indicated position
was converted into "inertial-pseudo-range" by calculating the expected range to each
satellite using the inertially indicated position and the known satellite locations. The
converted inertial measurement Rins (t) is given by:
p
Rins(t) = (Xsat (t) ; Xins (t))2 + (Ysat (t) ; Yins (t))2 + (Zsat (t) ; Zins(t))2 (3.8)
where
[Xsat (t); Ysat (t); Zsat (t)] is the satellite position in WGS-84 reference.
[Xins (t); Yins (t); Zins (t)] is the INS indicated vehicle position in WGS-84 reference.
The GPS uses the World Geodetic System WGS-84 as a reference. WGS-84 is an
earth xed global reference frame, including an earth model. It is dened by a set of
parameters which dene the shape of an earth ellipsoid, its angular velocity, the earth
mass which is included in the ellipsoid reference and a detailed gravity model of the
earth [46].
There are a number of shortcomings with this modelling method. The rst is the
need to model the receiver's clock oset. Further, all the pseudo ranges to all the
satellites in use have to be modelled. Assuming that a maximum of ten satellites may
be tracked at a given time, the total error model can add an additional twenty two states
to the process model used in the fusion lter. Finally, the measurement of other sensors
has to be converted into an equivalent pseudo range to match the GPS parameters.
These problems motivated the development of an improved modelling method by
using the position measurement directly without modelling the receiver's clock oset
and the pseudo ranges of all the tracked satellites. The measurement of other sensors
may be used as position information without the need to convert into the equivalent
pseudo range. The number of the model states will be reduced to six. The improved
method is introduced in the following sections.
43
(3.9)
Ri = i + c (Dti ; Dt0 ) + ni ; i = 1; 2; 3; 4
(3.10)
where c is the light speed, Dti (i = 1; 2; 3; 4) is the satellite clock bias and Dt0 is the
unknown receiver clock bias.
44
Xe = X0 + Dx; Ye = Y0 + Dy ; Ze = Z0 + Dz
(3.11)
X0 D ; Yi ; Y0 D ; Zi ; Z0 D
Ri = i ; Xi ;
x
y
z
(3.12)
X0 ; b = ; Yi ; Y0 ; c = ; Zi ; Z0
ai = ; Xi ;
i
i
(3.13)
Let
i
Subtracting Equation (3.12) from (3.10) and leaving the terms containing position
errors on the left side:
(3.14)
(3.15)
(3.16)
(3.17)
(3.18)
45
Subtracting Equation (3.15) from (3.16), (3.17) and (3.18) respectively, the receiver
clock bias Dt0 is removed:
(a1 ; a2 )Dx + (b1 ; b2 )Dy + (c1 ; c2 )Dz = c(Dt1 ; Dt2 ) + (n1 ; n2 )
(3.19)
(3.20)
(3.21)
The position error (Dx , Dy , Dz ) is consequently obtained from (3.19), (3.20) and
(3.21) with linear combination of satellite clock bias terms and range measurement
correlated noise ni (i = 1; 2; 3; 4).
Let
a1 ; a2 ; b1 ; b2 ; c1 ; c2
d = a1 ; a3 ; b1 ; b3 ; c1 ; c3
a1 ; a4 ; b1 ; b4 ; c1 ; c4
b1 ; b3 ; c1 ; c3
b1 ; b4 ; c1 ; c4
d12=
d
(3.22)
(3.23)
b1 ; b2 ; c1 ; c2
b1 ; b2 ; c1 ; c2
b1 ; b4 ; c1 ; c4
b1 ; b3 ; c1 ; c3
d13=
;
d
(3.24)
14=
d
d
where d; d12 ; d13 and d14 are related to the true ranges and true positions which can be
considered constants at that time.
Consider Dx rst, then at time t:
Dx (t) = d12 c(Dt1 (t) ; Dt2 (t)) ; d13 c(Dt1 (t) ; Dt3 (t)) +
+ d14 c(Dt1 (t) ; Dt4 (t)) + d12 (n1 (t) ; n2 (t))
(3.25)
The satellite clock bias ranges c(Dt1 (t) ; Dt2 (t)), c(Dt1 (t) ; Dt3(t)) and c(Dt1 (t) ;
Dt4(t)) are provided by the satellite ephemeris data in GPS message. After removing
46
these main clock bias ranges, the remaining error Dx cor(t) is the linear combination
of correlated noise (n1 (t) ; n2 (t)); (n1 (t) ; n3 (t)) and (n1 (t) ; n4 (t)):
Dx cor(t) = d12 (n1 (t) ; n2 (t)) ; d13 (n1 (t) ; n3(t)) + d14 (n1 (t) ; n4 (t))
(3.26)
In frequency domain:
Dx cor(s) = d12 (n1(s) ; n2(s)) ; d13 (n1(s) ; n3(s)) + d14 (n1 (s) ; n4(s))
(3.27)
The correlated noise of the pseudo range of all the satellites has an identical second
order model structure [45]. The model for each satellite has identical poles and zeros.
Therefore the linear combination of any of these correlated noises will not change the
poles and zeros. The position error will have an identical model structure with the
identical poles and zeros as the pseudo range model. The gain, however, is dierent
and can be obtained using the following method.
Assuming that the correlated noise ni (s) (i = 1; 2; 3; 4) of the pseudo range has the
following transfer function which is a second order system driven by a white noise series
!i (i = 1; 2; 3; 4) with unit strength:
+ ) !
ni (s) = s2 +ri2(sks
+ 2 i
(3.28)
where ; k; are identical to all the satellites. The gain ri is dierent for each satellite
and is related to the gain of the transfer function.
Then
+ ) ! ; r2 (s + ) ! ) ;
Dx cor(s) = d12 ( s2 +r12(sks
+ 2 1 s2 + 2ks + 2 2
+ ) ! ; r3 (s + ) ! ) +
; d13 ( s2 +r12(sks
+ 2 1 s2 + 2ks + 2 3
+ ) ! ; r4 (s + ) ! )
+ d14 ( s2 +r12(sks
+ 2 1 s2 + 2ks + 2 4
+ ) [(r ! ; r ! )d ;
= s2 +(2sks
+ 2 1 1 2 2 12
; (r1 !1 ; r3 !3)d13 + (r1 !1 ; r4 !4)d14 ]
+ ) [! r (d ; d + d ) ;
= s2 +(2sks
+ 2 1 1 12 13 14
; !2 r2d12 + !3r3 d13 ; !4r4d14 ]
(3.29)
47
We know that a linear combination of white noise is also white noise. Hence in
(3.29) [!1 r1 (d12 ; d13 + d14 ) ; !2 r2 d12 + !3 r3 d13 ; !4 r4 d14 ] is still a white noise series
with strength Gainx :
= r12 (d12 ; d13 + d14 )2 + r22 d212 + r32 d213 + r42 d214
(3.30)
48
;1
(3.33)
(3.34)
where xx(j!) is called the power spectral density (PSD) function and is xy (j!) called
the cross power spectral density function.
The autocorrelation is the Inverse Fourier Transform (IFT) of its PSD.
Consider the following linear time-invariant system with transfer function g1 (t):
x(t)9 9 K g1 (t) 9 9 Ky(t)
(3.35)
y(t) =
;1
(3.36)
49
The power spectral density function xx(j!) of the input x(t) and the power spectral
density function yy (j!) of the output y(t) have the following relationship:
yy (j!) =j G1 (j!) j2 xx(j!)
(3.37)
with G1 (j!) being the transfer function of this system in the frequency domain.
The transfer function of the correlated error model of GPS position has the structure:
+ )
G1 (s) = s2 +r(2sks
+ 2
(3.38)
The PSD cor (s) of the correlated error Xs (s) can be created by passing white noise
!(s) with a constant PSD white noise through the transfer function G1 (s) :
!(s)
99 K
(3.39)
And
cor (s) =j G1 (s) j2 white noise
(3.40)
G1 (s) can be used to create a shaping lter for use as an estimation error model.
4.6599
50
raw data x
x 10
4.6599
4.66
4.66
4.66
4.66
4.66
4.6601
4.6601
4.6601
4.6601
2000
4000
6000
8000
10000
12000
14000
16000
18000
noise x
100
80
60
40
20
20
40
60
80
2000
4000
6000
8000
10000
12000
14000
16000
18000
51
(3.41)
r(j! + )
10 lg j Xs (j!) j= 20 lg j (j!)2 +
2k(j!) + 2 j
= 10 lg
(3.42)
r(!2 + 2 ) p
[(! + 1 ; k2 )2 + 2 k2 ][(! ; 1 ; k2 )2 + 2 k2 ]
Set k1 = 1 ; k2 ; and
fw =
r (! 2 + 2 ) p
[(! + 1 ; k2 )2 + 2 k2 ][(! ; 1 ; k2 )2 + 2 k2 ]
(3.43)
Then
r (! 2 + 2 )
fw = (!2 + 2 + 2!k
1 )(!2 + 2 ; 2!k1 )
2
2
= 2 r(!2 2 + )2 2 2
(! + ) ; 4! k1
(3.44)
(3.45)
y = r 2 ; zw = (!2 + 2 )2 ; u = 2 k12
(3.46)
when
p = 4 ; q = 2
52
That is:
2
!2 1 ;fw ;2!2 fw
r7
7
y 77
7
4!2 fw p 77 = fw !4
7
q 775
u
6
6
6
6
6
6
6
6
6
6
4
(3.47)
The least square equation (3.47) can be used to obtain the parameters r; y; p; q; u
which can be transformed to ; k; r; by (3.46). Back to (3.43) and (3.42), fw can be
obtained from the PSD of raw data 10 lg j Xs (j!) j:
fw = 10 lg j 10Xs (j!) j
(3.48)
(3.49)
53
PSD :x
60
cutoff frequency: 0.002HZ
50
40
rolloff rate: 40dB/decade
30
20dB/decade
20
10
white noise
10
20
4
10
10
10
10
10
54
PSD
50
40
30
20
10
10
20
30
4
10
10
10
10
10
55
the GPS correlated noise. Its state space form is given by:
(3.50)
2
6
4
X_ s(t)
X_ ss(t)
7
5
= 64
32
;2k 1 7 6 Xs(t) 7 6 r 7
54
5+4
5 !sp (t)
2
; 0
Xss (t)
r
(3.51)
Suppose there is a system with m 1 state vector x(t) and p 1 measurement vector
z(t):
(3.52)
ns (t) = Xs (t)
(3.53)
6
6
6
6
4
7
7
7
7
5
x(t)
xa (t) = Xs (t)
Xss(t)
(3.54)
x_ (t) 7
7
x_ a (t) = X_ s (t) 77
5
_Xss (t)
(m+2)
2
F (t) 0m2 0m2
6
6
= 66 01m
;2k 1
4
;2 0
01m
6
6
6
6
4
(3.55)
32
76
76
76
76
54
x(t) 7 6 G
7 6
Xs (t) 77 + 66 01q
5 4
Xss(t)
01q
0q1
r
r
2
7
76
74
7
5
!(t)
!sp(t)
3
7
5
56
x(t) 7
7
z(t) = H (t) Ip 0p
Xs (t) 77 + v(t)
5
Xss (t)
= Ha (t) xa (t) + v(t)
6
6
6
6
4
(3.56)
with
(3.57)
The augmented system with shaping lter is depicted in Figure 3.8. It is noted that
the only driving noise in the augmented system is white noise. It consequently satises
the basic assumption for the Kalman lter that the non-model dynamics noise is white.
The coloured noise ns (t) will only be de-correlated from the GPS measurement by
external information.
(3.58)
57
58
and
(3.59)
(3.60)
GPS outputs are corrupted by the coloured noise Xs (t) and white noise v(t).
We have the relation:
(3.61)
(3.62)
dr_ (t) 7
6
7
6
7
6
dv_ (t) 7
6
7 = A6
7
6
X_ s(t) 7
6
5
4
_Xss (t)
dr(t) 7
2
7
7
dv(t) 7
6 wins (t)
7 + Gf 4
Xs (t) 77
!sp(t)
5
Xss (t)
3
7
5
(3.63)
w(t) = 64
wins(t)
!sp(t)
3
7
5
(3.64)
A=
6
6
6
6
6
6
6
4
0
0
0
0
1 0 0
0 0 0
0 ;2k 1
0 ;2 0
2
Gf =
59
6
6
6
6
6
6
6
4
0
1
0
0
0
0
r
r
3
7
7
7
7
7
7
7
5
(3.65)
3
7
7
7
7
7
7
7
5
(3.66)
(3.67)
Hf = [;1; 0; 1; 0]
(3.68)
with
Q = E [w(t)wT (t + )] = 64
2 0
qins
0 1
2 ( )
R = E [v(t)vT (t + )] = gps
3
7
5
( )
(3.69)
(3.70)
(3.71)
60
poor INS
100
dr
Gain dB
0
100
Xs
200
300 4
10
10
10
10
Frequency (rad/sec)
10
10
180
Phase deg
dr
0
dr
Xs
Xs
180
360
4
10
10
10
10
Frequency (rad/sec)
10
10
Figure 3.10: Bode plot of the feedforward lter using a poor INS.
with the lter gain K having been determined by the lter parameters and the process
and observation noise.
For a single standard GPS without dierential correction, the variance of position
error is about 20 20m2 . The Bode plot of a low quality INS with a variance of the
acceleration output of 0:1 0:1(m=s2 )2 is shown in Figure 3.10. From the plot it can be
seen that the gain for the shaping state estimate is very small. The performance of the
system in the time domain is shown in Figure 3.11. The GPS position output consists
of almost the entire correlated noise when the vehicle is stationary. The estimated
shaping state does not follow the shape of the GPS output. The estimate position
follows the INS output whose errors grow without bound due to no real-time correction
in this kind of lter structure. De-correlation of GPS coloured noise fails with a poor
INS of this level quality. These results were presented by Figure 3.10.
Figure 3.12 is the Bode plot of the feedforward lter using a high quality INS with
a variance of 1 10;6 (m=s2 )2 of the acceleration output. The gain for the shaping
state estimation in frequency band 10;4 (rad= sec) to 10;2 (rad= sec) is 0dB . Figure
3.13 shows the time domain performance of the system. The shaping state estimate
61
poor INS
100
GPS
meters
50
Xs
0
50
100
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
14000
16000
18000
50
position estimate
meters
INS
50
100
150
0
2000
4000
6000
8000
10000
Time
12000
Figure 3.11: Time domain performance of the feedforward lter using a poor INS.
Xes has almost the same shape and magnitude as the GPS output which is almost the
entire coloured noise since the observation corresponds to a xed position. The position
estimate error has been considerably reduced to 4m only.
Figure 3.14 shows the Bode plot of the transfer function (3.71) when the variance
of the INS noise changes from 0:1 0:1(m=s2 )2 to 1 10;6 (m=s2 )2 :
The essential requirement for the variance of the acceleration noise for de-correlation
can be found from the Bode plot of the lter transfer function. Therefore, in order to use
an indirect feedforward Kalman lter to de-correlate GPS coloured noise with an INS,
the accuracy of the INS needs to be above a certain threshold which can be obtained
from the Bode plot.
62
good INS
50
Xs
Gain dB
0
dr
50
100 5
10
10
10
10
10
Frequency (rad/sec)
10
10
360
Phase deg
dr
Xs
180
dr
Xs
180
5
10
10
10
10
10
Frequency (rad/sec)
10
10
Figure 3.12: Bode plot of the feedforward lter using a good INS.
good INS
100
50
meters
Xs
0
GPS
50
100
0
2000
4000
6000
8000
10000
12000
14000
16000
14000
16000
meters
position estimate
2
1
0
INS
1
2
0
2000
4000
6000
8000
Time
10000
12000
Figure 3.13: Time domain performance of the feedforward lter using a good INS.
63
50
0
Magnitude
50
100
150
200
250
0
20
40
Frequency
60
10
15
20
25
30
INS noise
Figure 3.14: Bode plots of the transfer functions using the feedforward lter. The
magnitude of the Bode plots, the frequency in rad=sec unit and the INS noise in m=s2
unit are logarithmically scaled. The magnitude unit in the plots represent the power
numbers of the logarithm units. The units for the frequency and INS noise represent
the negative power numbers of the logarithm units.
64
65
Gain dB
dr
50
Xs
100
150 4
10
10
10
10
Frequency (rad/sec)
10
10
180
dr
Xs
Phase deg
Xs
0
dr
180
360
4
10
10
10
10
Frequency (rad/sec)
10
10
Figure 3.16: Bode plot of the feedback lter with a poor INS.
1 10;6 (m=s2 )2 is the threshold value of the noise variance of an accelerometer.
The gain of the transfer function for the shaping state Xes is 0dB in the Bode plot before
10;2 rad= sec as in Figure 3.18. This means that the shaping state estimate Xes tracks
3.6 Conclusion
66
poor INS
100
GPS
meters
50
Xs
0
50
100
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
14000
16000
18000
100
position estimate
meters
50
0
INS
50
100
0
2000
4000
6000
8000
10000
Time
12000
Figure 3.17: Time domain performance with a poor INS using a feedback lter.
the observation which almost entirely consists of GPS coloured noise. Figure 3.19 shows
the performance in the time domain. The shaping state estimate Xes matches the GPS
measurement observations.
In order to generate de-correlation the quality of the INS can be obtained using
Figure 3.20. From the plot this essential variance requirement is still 3:16 10;6 (m=s2 )2
for a standard GPS with a variance of 20 20m2 :
Therefore, to use an indirect feedback lter to de-correlate the GPS coloured noise,
the essential quality requirement of the accelerometer is the same as for the feedforward
lter. The additional advantage with this approach is that the position estimate is
bound.
3.6 Conclusion
This chapter has introduced an improved GPS error modelling method in the frequency
domain. In previous work, the errors were modelled in the pseudo range and clock
oset. The measurement from other sensors has to be converted into an equivalent
3.6 Conclusion
67
good INS
0
Xs
Gain dB
20
dr
40
60
80 5
10
10
10
10
10
Frequency (rad/sec)
10
10
Phase deg
180
dr
Xs
Xs
180
dr
360
5
10
10
10
10
10
Frequency (rad/sec)
10
10
Figure 3.18: Bode plot of the indirect feedback lter with a good INS.
good INS
100
50
meters
Xs
0
GPS
50
100
0
2000
4000
6000
8000
10000
12000
14000
16000
14000
16000
20
meters
10
INS
0
10
position estimate
20
0
2000
4000
6000
8000
Time
10000
12000
Figure 3.19: Time domain performance of the indirect feedback lter using a good INS.
3.6 Conclusion
68
Magnitude
50
100
150
200
250
0
20
40
Frequency
60
10
15
20
25
30
INS noise
Figure 3.20: Bode plots of the transfer functions using indirect the feedback lter. The
magnitude of the Bode plots, the frequency in rad=sec unit and the INS noise in m=s2
unit are logarithmically scaled. The magnitude unit in the plots represent the power
numbers of the logarithm units. The units for the frequency and INS noise represent
the negative power numbers of the logarithm units.
3.6 Conclusion
69
Chapter 4
4.2 Overview
71
gorithm. The lter process models and the measurement equations are developed in
Section 4.4.3. The non-linear lter is implemented using the extended Kalman Filter
(EKF). The discrete lter and Jacobian matrix are derived in Section 4.4.4.
Section 4.5 describes the navigation stage after the initial alignment. The continuing
alignment and the calibration of the system in the navigation are brie
y discussed in
this section.
4.2 Overview
The INS algorithm generates velocity, position and attitude information. The inputs
to the INS algorithm are the measured gyro and accelerometer outputs. The INS
algorithm outputs navigation data in a desired navigation frame. The main functions
executed in a strapdown INS algorithm are the integration of IMU measured angular
rate into attitude and also the transformation and integration of IMU measured specic
force acceleration, Coriolis acceleration and modelled gravity to the desired navigation
frame [50, 51].
The INS integration assumes the initial values of velocity, position and attitude.
Therefore an initial alignment phase is required before navigation begins.
Initial misalignment is one of the major error sources of the INS. During the initial
alignment phase, the attitude dierence between the axes of the INS coordinate systems
and those of a chosen reference is estimated and removed. This attitude dierence, or
misalignment consists of two tilt angles and an azimuth angle which have distinct eects
on the propagation errors of the INS. The Kalman lter has been successfully used to
estimate the tilt and the azimuth errors of the INS. It is well known that the estimation
rate of the azimuth misalignment and the nal value it reaches are the two factors that
determine the performance of the whole alignment process [52]. The initial alignment
can be performed either when the INS is at rest on ground or while the vehicle is in
motion.
4.2 Overview
72
v = g wie
The alignment matrix Cgn is given by:
2
6
6
Cgn = 66
(gn )T
3;1 2
7
7
7
7
5
6
6
6
6
4
(4.1)
(gg )T
(wieg )T
(vg )T
3
7
7
7
7
5
(4.2)
(wien )T
(vn )T
where the gravity vector g and the earth rate wie in the desired navigation frame n and
the geographic frame g are gn , gg , wien and wieg .
Britting [27] analyzed the errors of the analytic coarse alignment scheme by taking
into account the eect of instrument uncertainties and that the base motions are not
readily amenable to analytic methods. This method requires the vectors g and wie to
be measured.
For a gimbled INS, physical gyrocompass alignment consists of nding the coordinate transformation between local geographic axes and navigation axes by physical
gyrocompassing. The transformation matrix Cgn is physically driven to be the unit
matrix.
4
4.2 Overview
73
For strapdown INS, the initial alignment matrix represents the transformation from
the body frame to the navigation frame. This analytic alignment method can be used
for high accuracy applications in only the most benign of environments [27], since the
performance deteriorates because of angular disturbance vibrations and accelerations.
The measurement of the gravity and the earth rate could also be corrupted. Some
ltering is introduced in order to reduce the eects of these vibrations. When a low-pass
lter is used to obtain the average values of the measured quantities, the instantaneous
position of the body frame can vary considerably from its average position. A signicant
misalignment could exist when the system is switched to the navigation operation mode.
A self-corrective alignment scheme is introduced to rene the initial estimate of the
transformation matrix by using the error angles between the known reference frame
and the corresponding computed frame.
Many gyrocompassing algorithms for both gimbled INSs and strapdown INSs have
appeared in literature. Jurenka and Leondes developed an optimum controller for driving the alignment in 1967 [58]. Huang and White presented self-alignment techniques
for an IMU considering the ne alignment of an INS platform whose base is subject
to vibration and whose sensors are subject to noise in 1975 [57]. The observability of
INS ground alignment was analyzed by Jiang and Lin in 1992 [53]. In the covariance
analysis of strapdown INS considering gyrocompass characteristics by Heung et al. in
1995 [56], it was found that cross-coupling terms in gyrocompass alignment errors can
signicantly in
uence the strapdown INS error propagation. The initial heading error
has a close correlation with the east component of gyro bias error, while initial level tilt
errors are closely linked to the accelerometer bias error. Heung et al. also developed a
multiposition alignment method for INS stationary alignment on ground in 1993.
Bar-Itzhack summarized INS error models for the ground alignment in 1988 [4]. All
these models in the literature assume that the initial misalignments are small angles
with errors of only a few degrees. The measurement of the earth rate is indispensable
and an essential input for the ground alignment.
4.2 Overview
74
4.2 Overview
75
76
dened as:
e = [ x ; y ; sin z ; cos z ; 1]
(4.3)
where the psi angle [ x ; y ; z ] is the misalignment of the computer frame and the
platform frame. Scherzinger's model has a similar form of the psi angle model developed
in the literature by Benson [5] and Bar-Itzhack [24].
In 1997, Dmitriyev et al. published a nonlinear lter method application in INS
alignment which discussed the problem of coarse alignment [8]. Error equations with a
nonlinear characteristic have been obtained with a considerable level of a priori coarse
uncertainty. The error model is designed in the true frame with the assumption of two
small tilt misalignments and one large heading misalignment. The nonlinear characteristic of the problem was considered over a short period. As a result, the heading
misalignment rate was assumed to be zero. In the misalignment error models, the rates
of misalignment angles were coupled with the velocity errors and the velocity errors are
coupled with the misalignment angles.
In 1997, Rogers proposed another in-motion alignment method without the benet
of attitude initialization [67]. Similar to the methods of Pham and Scherzinger, Roger's
lter contained two sine and cosine states of the heading error. Small tilts and large
heading error were assumed.
The psi angle models and quaternion models for three large misalignment error
angles in the computer frame developed in the previous chapter of this thesis provide
a solution to the unknown initial attitude problem. The additional two tilt angles and
one heading angle could be all large using the proposed models.
77
In this thesis, a low grade inertial measurement system, made by Watson Industry
INC. is used. The resolution of gyros and accelerometers for the Watson IMU are shown
in the following table:
Watson IMU
IMU-1
IMU-2
gyros
1.077910;4 rad=sec 4.311510;4 rad= sec
accelerometers
0.0024 m=s2
0.0024 m=s2
m/s2
Figure 4.1 shows the raw data of the Watson IMU-1 in a stationary stage.
0.094
0.36
9.821
0.096
0.355
9.822
0.098
0.35
0.1
0.345
0.102
0.34
9.826
0.335
9.827
9.823
9.824
0.104
50
60
70
80
9.825
50
100
150
Resolution of accelerometer X Y Z
50
55
60
x 10
0.0105
0.0138
9.2
rad/sec
9.4
9.6
0.0139
0.011
0.014
0.0115
9.8
0.0141
10
10.2
0.012
0.0142
20
25
30
50
60
70
80
Resolution of gyro X,Y,Z
0.0125
100
200
78
79
0.12
9.935
0.04
0.125
9.94
0.03
0.025
0.02
0
1000
0.13
0.135
0.14
0.145
0.15
2000
0
1000
3
0.002
0.004
0.006
0.008
0.01
0
1000
2000
x 10
9.95
9.955
9.96
9.965
2000
0
6,7,8
6
8
1000
1000
2000
1000
2000
10
0
9.945
0.035
raw accelaration: z
0.045
raw accelaration: y
raw accelaration: x
2000
x 10
2
4
6
8
0
Figure 4.3: These six plots show the turn-on biases for the Waston IMU-1. The 2000
samples are taken over a period of 34 seconds. The units for the y axes in the top three
plots are m=s2 . The units for the y axes in the bottom three plots are rad=s.
Figure 4.4 shows the quaternion errors due to the gyro biases in a stationary position
over 28 seconds. The four curves of the four elements [Q0 ; Q1 ; Q2 ; Q3 ] show linear
divergence over time.
The rst order, the second order and the third order eects over time of the IMU
turn-on biases are shown in Figure 4.5. The acceleration \Vtx DOT" and \Vty DOT"
of axes x and y in the platform frame show a large linear divergence over time. The velocity \V tx" and \V ty" show a quadratic divergence over time squared. The curves of
the position coordinates \dx WGS84" and \dy WGS84" have a third order relationship
with time.
The gyro bias of 0.008 rad=second and the accelerometer bias of 0.2 m=second2 will
cause a velocity error of 20 m=s and a position error of 200m over 28 seconds.
These results demonstrate that before the raw data can be used, it is essential to
80
Quaternions
1
Q0
Q1
Q2
Q3
0.8
0.6
0.4
0.2
0.2
0
200
400
600
800
1000
1200
1400
1600
1800
Figure 4.4: Quaternion errors due to gyro biases. The 1650 samples are taken over a
period of 28 seconds. The unit for the quaternions is 1.
Vtx_DOT
Vty_DOT
0.08
0.2
0.06
0.15
0.04
0.1
0.02
0
0.05
0
50
100
150
V_tx
200
20
20
V_ty
40
60
20
0
10
20
0
0
500
1000
1500
2000
200
40
0
500
1000
1500
2000
1000
1500
dy_WGS84
2000
200
0
100
200
0
0
500
1000
1500
dx_WGS84
2000
400
0
500
Figure 4.5: Errors of acceleration, velocity and position due to turn-on biases of IMU.
The units for y axes in the top two plots, the middle two plots and the bottom two
plots are m=s2 ; m=s and m respectively. Along x axes are data samples over time
taken at 84Hz in 20 seconds.
81
remove the turn on biases. The method of bias determination is discussed here.
The frames of the Watson IMU are shown in Figure 4.2. The bank and elevation
information are dened as the angles with respect to the local level frame in Figure 4.2.
The average tilt angles from the tilt gyros are used to generate the coarse alignment
information.
(4.4)
This is the sum of the true acceleration vector Fb in the body frame and the bias
vector of the accelerometers rb (0) in the body frame:
F^b = Fb + rb(0)
(4.5)
The true acceleration vector Fb is transformed by the gravity vector in the platform
frame:
(4.6)
Cbp =
6
6
6
6
4
(4.7)
82
Therefore the bias vector of the accelerometers rb (0) is subtracted from (4.5):
rb(0) = F^b ; Fb
(4.9)
W^ p =
ie + rp
(4.10)
For the convenience of removal of the gyro biases from the raw data in the body
frame, the bias vector is converted into the body frame:
rb = Cpb(0)rp = Cpb(0)(W^ p ;
ie)
(4.11)
The earth rate term is ignored for a low cost IMU, therefore:
rb = Cpb(0)W^ p
^ xb
6 !
6
= W^ b = 66 !^ yb
4
!^ zb
3
7
7
7
7
5
(4.12)
To remove the turn on biases of the three gyros, the average gyro measurement
W^ b = !^ xb ; !^ by ; !^zb T is removed from the raw data.
83
quaternions after remove gyro turnon bias in static state
Q0
Q1
Q2
Q3
0.06
0.04
0.02
0.02
0.04
0.06
80
100
120
140
160
180
200
220
240
Figure 4.6: Quaternions after removal of turn on biases of gyros. The unit for the
quaternions is 1. Along x axis are data samples over time taken at 84Hz.
After the removal of the turn-on biases, the raw data from the IMU can be used
directly for navigation. Figure 4.6 is a plot of quaternions over 28 seconds. Compared
with the Figure 4.4 before the removal of turn on biases, the four curves of the four
elements [Q0 ,Q1 ,Q2 ,Q3 ] are almost
at without divergence.
The errors in acceleration, velocity and position are reduced after this process.
Figure 4.7 is a plot of computed acceleration, velocity and position in the platform frame
while the Watson IMU was moving in an oscillation trajectory of 20cm around a xed
point for 320 seconds. As in Figure 4.7, the acceleration \Vtx DOT"and \Vty DOT"
of the axes x and y in the platform frame after 300 seconds are almost zero without
divergence. The velocity \V tx", \V ty" and position \dx WGS84", \dy WGS84" still
have some errors but are considerably smaller. The remaining biases are modelled and
will be removed by in-motion calibration algorithms.
84
Vtx_DOT
Vty_DOT
20
10
10
0
100
200
V_tx
300
400
10
0
100
200
V_ty
300
400
100
200
300
400
200
300
dy_WGS84
400
1
0
0
1
2
0
100
200
300
400
2
0
2
0
100
200
300
dx_WGS84
400
4
0
100
Figure 4.7: Acceleration, velocity and position after removal of turn-on biases. Along x
axes are data samples over time taken at 84Hz. The units for the y axes in the top two
plots, the middle two plots and the bottom two plots are m=s2 , m=s and m respectively.
the accelerometers and the gyros are also computed at this stage. The coarse leveling
alignment is conducted on-ground. The inertial cosine matrix for the psi angle approach
will be considered.
The direction of the axes x, y and z is dened as east-north-up of the local level
frame. The initial direction cosine matrix is constructed by the initial attitude and the
initial heading. In the coarse alignment mode, the vehicle remains stable for at least
15 seconds. Average bank and elevation are recorded as BK and EL. The heading is
unknown for a low cost INS and will be solved by the in-motion alignment algorithm.
Assuming an arbitrary heading input H , the initial direction cosine matrix Cbp between
the body frame and the platform frame is given by Equation (4.7).
The computation uses the average bank and elevation data during the stationary
stage. The vehicle position may be changed from its average position. Due to the noise
and the vibration of the vehicle, this estimation of leveling is only an approximation.
The ne alignment will be performed during the in-motion alignment stage when the
vehicle starts to move.
85
86
platform north and the true north of the true local level frame at the true position. The
position is aided by external position reference. The position error of the computed
position and the true position is small. Therefore the north of the computer frame
is very close to the true north of the true local level frame at the true position. The
misalignment z between the computer frame and the platform frame is approximately
the heading error. The correction of z consequently becomes the goal of the heading
uncertainty algorithm.
In-motion alignment commences after the coarse alignment. The initial heading
entry is arbitrarily set.
When the GPS x is not available, the INS performs vehicle navigation in the
platform frame at each IMU sampling time. The gyros of the IMU output the angular
rate of the vehicle in the body frame which can be used to calculate the direction cosine
matrix. The accelerometers output the acceleration of the vehicle in the body frame
which is transformed into the platform frame by the direction cosine matrix . The
INS navigation outputs the attitude, velocity and position in the platform frame by
integrating the angular rate, acceleration and velocity respectively.
When the GPS x becomes available, the velocity and position measurements of
the GPS x are processed. A nonlinear lter based on the computer approach (the psi
angle approach) estimates the psi angle errors, velocity errors and position propagation
errors of the INS in the computer frame and the drift errors of the accelerometers, the
gyros and the GPS errors. The nonlinearity of the lter is due to the nonlinearity of
the psi angle model for large heading errors between [;180 ; +180 ]. The estimates
of the errors are used to correct the velocity, position and attitude. The readings of
the accelerometers, gyros and the GPS measurement are also compensated by the lter
estimation of the sensor errors.
The algorithm runs until the errors are corrected. The three attitude errors are now
all satised to the small angle assumption. The psi angle model can be switched to
its small angle form. The algorithm is then switched from the alignment mode to the
navigation mode which still employs the same lter, only the psi angle model switches
87
x; y; z;
(4.13)
88
Figure 4.9: Flow chart of heading correction and lter estimation using the psi angle
approach.
89
(4.14)
Cpc =
6
6
6
6
4
3
7
7
7
7
5
(4.15)
In most cases, when the coarse alignment has been done with an unknown azimuth,
there will be two small initial tilt errors and one large heading error. The psi angle is
still large.
For most low cost INSs, the area of operation is close to the earth surface. The
gravity has very small variation. In this case, the gravity error model can be ignored
90
V_ c =
7
7
7
7
5
6
6
6
6
4
Vxc
Vyc
Vzc
3
7
7
7
7
5
(4.16)
1 ; cos( z ) sin( z )
; x sin( z ) ; y cos( z )
+ ; sin( z ) 1 ; cos( z ) + x cos( z ) ; y sin( z )
; x
0
y
6
6
6
6
4
32
76
76
76
76
54
2
x sin( z ) + y cos( z ) 7 6
6 cos( z ) ; sin( z )
6
7
6
+ 66 sin( z ) cos( z ) ; x cos( z ) + y sin( z ) 77 Cbp 66
4
5
4
; y
0
x
fxp
fyp
fzp
rbx
rby
rbz
3
7
7
7
7
5
3
7
7
7
7
5
where
Cbp is the direction cosine matrix with which INS actually transforms the vectors from
the body frame to the platform using measured INS angular rate in navigation
mode.
91
(4.17)
R_ c =
6
6
6
6
4
Vxc
Vyc
Vzc
7
7
7
7
5
6
6
6
6
4
Vxctg(')=R0
;Vxc=R0
;Vxctg(')=R0
0
;Vyc=R0
Vxc=R0
Vyc=R0
0
32
76
76
76
76
54
Rxc
Ryc
Rzc
3
7
7
7
7
5
(4.18)
Ccp =
6
6
6
6
4
3
7
7
7
7
5
(4.19)
When the three initial attitudes are all unknown, or in the large perturbation case
when the errors of the three attitudes are all large during the navigation stage, the
angle model with large angle assumption has to be used.
In most cases, the initial tilt angles can be solved within an error of 1 in the coarse
alignment stage, while the heading remains unknown. In this case, x and y are small
92
and z is large within [;180 ; +180 ]. The psi angle equation in this case is extended
to:
2
_=
6
6
6
6
4
2
1 ; cos( z )
; sin( z )
y
sin( z )
1 ; cos( z )
; x
; x sin( z ) ; y cos( z ) + x cos( z ) ; y sin( z ) 0
c
6 ;Vy =R0
6
6
6
4
7
7
7
7
5
6
; Cbp 66
6
4
bx
by
bz
3
7
7
7
7
5
3
7
7
7
7
5
(4.20)
a1
r_ b = ;r
+
Ta Ta
b
_b = ; + b1
b
Tg
Tg
(4.21)
(4.22)
r_ b = 0
(4.23)
_b = 0
The white noise is to be added on top of these.
The error model for the GPS has been presented in the previous chapter. The
93
shaping states Xs and Xss of the GPS position error have the following relations:
(4.24)
X_ ss = ;2 Xs + r!sp
That is:
2
6
4
X_ s
X_ ss
7
5
= 64
32
54
7
5
+ 64
;2k 1 7 6 Xs
2
Xss
r 7
5 [!sp ]
r
(4.25)
Measurement Equations
The lter observation is the dierence between the GPS measurement and the INS
output. It must be noted that these two dierent outputs are in two dierent frames.
When the dierential GPS with the position error of 2cm and the velocity error of
5cm=second is used as the navigation reference, the velocity and the position of the
DGPS are considered to be solved and transformed into the true local level frame.
Let the velocity dierence Vd and the position dierence Rd be the dierence between the INS outputs and measured GPS outputs:
c ; Vb t
Vd = VbINS
GPS
(4.26)
c ;R
bt
Rd = RbINS
GPS
(4.27)
where the superscripts c and t indicate whether the vectors are in the computer frame
c
c are the INS computed position and velocity.
or in the true frame. RbINS
and VbINS
t
t are the GPS position and velocity outputs respectively.
RbGPS
and VbGPS
When the GPS error model is proposed, the observation has the following form:
c ;R
bt
Z = Rd = RbINS
GPS
c + Rc) ; (Rt + X + ; )
= (Rtrue
s
gps
true
c ; Rt ) + (Rc ; Xs ; ;gps)
= (Rtrue
true
c + (Rc ; X ; ; )
= (I33 ; Cct )Rtrue
s
gps
(4.28)
94
t and Rc are
where ;gps = [;x ; ;y ; ;z ]T is the white noise of GPS measurement. Rtrue
true
the true position in the computer frame and the true frame respectively.
Since the position is aided, the INS computed position and the true position will
have small errors. The computer frame c; which is the local level frame at the computed
position, and the true local level frame t at the true position will have a small dierence
95
Rd = Rc ; Xs ; ;gps
2
3 2
3 2
c
6 Rx 7 6 Xsx 7 6 ;x
6
7 6
7 6
= 66 Ryc 77 ; 66 Xsy 77 ; 66 ;y
4
5 4
5 4
Rzc
Xsz
;z
3
7
7
7
7
5
(4.29)
2
;I33 033
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
Vxc
Vyc
Vzc
Rxc
Ryc
Rzc
x
y
z
rbx
rby
rbz
bx
by
bz
Xsx
Xsy
Xsz
X2x
X2y
X2z
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
6
6
6
6
4
7
7
7
7
5
;x
; ;y
;z
(4.30)
When the DGPS is used, the observation can be considered as corrupted by white
96
Z = 64
Vd
Rd
3
7
5
c ; Vb t
Vd = VbINS
GPS
c ;R
bt
Rd = RbINS
GPS
(4.31)
And
c ; Vb t
Vd = VbINS
GPS
c + V c ) ; (V t + gps)
= (Vtrue
true
c ; V t ) + (V c ; )
= (Vtrue
gps
true
c + V c ;
= (I33 ; Cct )Vtrue
gps
(4.32)
where
gps = [x ; y ; z ]T is the white noise of the DGPS velocity measurement.
c is the true velocity in the computer frame.
Vtrue
t is the true velocity in the true frame.
Vtrue
Vd = V c ; gps
(4.33)
And
c ; Rbt
Rd = RbINS
GPS
c + Rc) ; (Rt + ; )
= (Rtrue
gps
true
c + Rc ; ;gps
= (I33 ; Cct )Rtrue
= Rc ; ;gps
(4.34)
Z = 64
V c ; gps
Vd 7 6
5=4
Rd
Rc ; ;gps
97
3
7
5
I
0
0
0
0
= 64 33 33 33 33 33
033 I33 033 033 033
2
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
36
6
6
76
56
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
Vxc
Vyc
Vzc
Rxc
Ryc
Rzc
x
y
z
rbx
rby
rbz
bx
by
bz
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
; 64
gps
;gps
3
7
5
(4.35)
98
expected values of the second and higher-order terms in the Taylor series expansion
are small [19]. Jacobian matrices of the process and observation models have to be
evaluated. The Distribution Approximation Filter which is introduced by Julier and
Uhlman [19, 20, 21, 22, 23] provides another approach for nonlinear ltering.
The Extended Kalman lter is employed in this section for the psi angle approach,
where for the navigation update, direction cosine matrices are used for attitude update
purposes.
The update stage is performed at each data fusion step when a GPS x is available.
Usually, the INS sampling time is less than the sampling time of the GPS. For example,
the sampling frequency of the Watson IMU and the Ashtech GPS are 82Hz and 10Hz
respectively. During the period when a GPS x is not available, INS computes and
outputs the navigation data independently without the lter prediction.
The lter in continuous time is the combination of the equation in Section 4.4.3.
The whole lter can be written as:
(4.36)
(4.37)
Xk+1 = fk (Xk ) + Gk uk
Zk = Hk Xk + vk
(4.38)
99
with:
Gk = G(tk )dt
(4.39)
uk = U (tk )
(4.40)
vk = V (tk )
(4.41)
(4.42)
@Xk
k ; X (tk )) dt
I + @fc(t@X
k
= I + Jc (tk )dt
(4.43)
The derivation of the Jacobian matrix Jc of the lter at time tk is more complicated.
For example, when the noise of the accelerometers and the gyros is treated as white
noise plus a constant and the DGPS is used, the Jacobian matrix in continuous time is
derived as follows.
The lter can be separated into a linear part and a nonlinear part plus the noise:
3
2
2
32
3
c +
c ) 033 033 033 033
c
_c
V
;
(2
V
ec
ie
7
6
6
76
7
6
7
6
76
7
c 7 6
c
c
_
6 R
7
6
I33
;
ec 033 033 033 7 6 R 77
7
6
6
6
7
6
76
7
6 _
7=6
76
7+
0
0
0
0
0
33
33 33 33 33 7 6
6
7
6
7
6
6
6
4
rb
b
7
7
7
5
6
6
6
4
6
6
6
6
6
6
6
4
(I ; Cpc)ftp
031
(I ; Ccp)!icc
061
0615
7
7
7
7
7
7
7
5
6
6
6
6
6
6
6
4
rp
031
;p
061
76
76
76
54
3
7
7
7
7
7
7
7
5
rb
b
7
7
7
5
(4.44)
100
Jc =
6
6
6
6
6
6
6
6
6
6
4
;(2
cie +
cec)
I33
033
3
7
7
7
7
7
7
7
7
7
7
5
(4.45)
When only the heading is unknown, the matrix elements F13 and F33 in Jc are:
2
F33 =
6
6
6
6
4
;w3
3
7
7
7
7
5
(4.46)
w3
0
sin ( z ) w1 ; cos ( z ) w2
cos( z )w1 + sin( z )w2
( y sin( z ) ; x cos( z ))w1 ; ( y cos( z ) + x sin( z ))w2
3
7
7
7
7
5
(4.47)
where
w1 = ;Vyc=R0
w1 = Vxc =R0 + wie cos(')]
w3 = Vxc tan(')=R0 + wie cos(')
(4.48)
' is the local latitude. All the variables in the Jacobian matrices above are evaluated
at time tk .
101
G(tk ) =
6
6
6
6
6
6
6
6
6
6
4
Cbp(tk )
033
033
066
G(tk )U (tk ) =
6
6
6
6
6
6
6
4
rp
031
;p
061
3
7
7
7
7
7
7
7
5
033
033
;Cbp(tk )
6
6
6
6
6
6
6
6
6
6
4
Cbp(tk )
033
033
3
7
7
7
7
7
7
7
7
7
7
5
033
033
;Cbp(tk )
066
(4.49)
3
7
72
7
7
76
74
7
7
7
7
5
rb
b
3
7
5
(4.50)
where Cbp(tk ) is the direction cosine matrix from the body frame to the platform which
is solved in navigation at time tk .
In the discrete-time lter (4.38), uk and vk are white noise sequences with strength
Gk and Rk . They can be approximated as [71]:
(4.51)
102
The initial covariance matrix P0;0 provides a statistical measure of condence of the
states:
2
033
033
033
033
033
033
033
033
033
033
033
033
033
033
033
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(4.52)
P0;0 is assumed diagonal for lack of sucient statistical information to evaluate its
o-diagonal terms.
The initial dynamic process noise matrix is set as Q0 :
2
Q0 =
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
2
accx
0
0
0
0
0
2
accy
0
0
0
0
0
0
2
accz
0
0
0
0
0
0
2
gyrox
0
0
0
0
0
0
2
gyroy
R0 =
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
2
rrx
0
0
0
0
0
0 0 0 0
rry2 0 0 0 0
2 0 0 0
0 rrz
2 0 0
0 0 rvx
2 0
0 0 0 rvy
2
0 0 0 0 rvz
0
0
0
0
0
2
gyroz
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(4.53)
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(4.54)
The diagonal terms of R0 are the variance of the noise on INS and GPS measurements.
103
At time tk ; the state estimation is Xk;k;1 , with the covariance matrix Pk;k;1 being
available. The Jacobian matrix of fk is then evaluated as:
(4.55)
(4.56)
The updated measurement is fused into the lter. The updated state estimation
Xk;k is:
(4.57)
Since the errors have been compensated at each lter time, Xk;k;1 is zero. Therefore, the updated estimation of states which is used to correct navigation output and
calibration sensor errors is:
Xk;k = Kk Zk
(4.58)
Pk;k = (I ; Kk Hk )Pk;k;1
(4.59)
For the next iteration tk+1, the a priori state estimation will be:
Xk+1;k = fk (Xk;k )
(4.60)
(4.61)
The estimation of the states is used to correct the system errors by subtracting each
estimated error from the INS velocity, position, attitude, accelerometer output data,
gyro output data and GPS position data, as shown in the
ow chart in Figure 4.9.
104
4.6 Summary
In this chapter, the INS algorithm for low cost IMUs is developed using psi angle
models for large attitude errors. The main contribution of this algorithm is the inmotion alignment to solve the initial attitude uncertainty.
The alignment mode is separated into coarse alignment and in-motion ne alignment. Section 4.3 presented the determination of the initial direction cosine matrix,
turn-on biases of the accelerometers and the gyros in the coarse alignment stage.
Section 4.4 presented the in-motion alignment approach with an unknown initial
condition. The psi angle models developed in this thesis are used as the lter process
models. The Extended Kalman Filter is used to implement the nonlinear lter.
Chapter 5
105
106
107
108
m/sec2
0.5
0
0.5
1
1.5
2
20
40
60
80
100
120
80
100
120
rad/sec
0.05
0
0.05
0.1
0.15
0.2
20
40
60
Time : second
109
(5.1)
(5.2)
110
(5.3)
The evaluation of this matrix is less computationally expensive than using the direction cosine matrix.
Q_ pb = 21
nb Qpb
(5.4)
nb =
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
5
(5.5)
and
b = [w ; w ; w ]T
wnb
x y z
(5.6)
111
is the body frame rate with respect to the platform frame solved in the body frame.
This is derived by dierencing the measured body frame rates wibb and the estimates
of the components of platform frame rate wipp . wipp is obtained by summing the Earth
rate with respect to the inertial frame wiep and the turn rate of the platform frame to
p . These rates have the following relation [27]:
the Earth frame wep
p
winp = wiep + wep
(5.7)
b = wb ; C b [wp + wp ]
wnb
p ie
ep
ib
(5.8)
and
Let t be the INS update interval and Qpb(t ; 2t) and Qpb (t ; t) be the quaternions
at time (t ; 2t) and (t ; t). The angular rate matrix of the previous two steps (t ; 2t)
and (t ; t) are
(t ; 2t) and
(t ; t). To integrate the quaternion dierential equation
(5.4), a 2-step Adams-Bashford method [82] is used. The quaternion at the current step
is given by [68]:
are selected using the values of the last two steps. For the Watson IMU, the sampling
time is 0.008 seconds.
In the algorithm presented, the quaternion vector is normalized at each update
stage. Figure 5.3 is a plot of the actual norms of quaternions minus 1. The range is
within 5 10;16 . Therefore the quaternions are normalized at each INS navigation
time.
112
Quaternion orthogonality
x 10
50
60
70
80
90
100
110
120
113
114
navigation data at each INS sampling time starting with the rst quaternion vector.
When a GPS x is available, a lter based on the velocity, position and quaternion
error models updates the states. The state vector consists of the INS velocity error,
the position errors, the quaternion errors in the computer frame and the IMU and GPS
error states. These estimates are used to correct the INS navigation and calibrate IMU
biases.
The computer frame is selected as the local level frame in east, north and up at the
INS computed position.
(5.10)
where
V c = [Vxc ; Vyc ; Vzc ]T is the INS velocity error vector in the computer frame.
Rc = [Rxc ; Ryc ; Rzc ]T is the INS position error vector in the computer frame.
Qcp = [q0 ; q1 ; q2 ; q3]T is the quaternion vector which represents the rotation between
the platform frame and the computer frame.
115
(5.11)
(5.12)
where Equation (5.11) describes the continuous-time propagation equation. The lter
state equations are nonlinear and u(t) is white noise. The measurement equations
are linear in this case and w(t) is white noise. The measurement vector contains the
dierence between the INS velocity and position information and the GPS velocity and
position information.
(5.13)
Most low cost INSs are used in level navigation applications and consequently the
gravity error gc can be ignored. The matrix C (Qcp ) transforms the true specic force
ftp = [fxp; fyp; fzp]T in the platform frame to the computer frame. It is given by:
2
6
6
C (Qcp ) = 66
4
3
7
7
7
7
5
(5.14)
2
cie +
cec =
6
6
6
6
4
0
(5.15)
;Vyc=Ry
3
7
7
7
7
5
116
where ' is the local latitude. The earth rate !ie = 7:272205 10;5 rad=second. The
earth radius elements Rx in the east direction and Ry in the north direction can be
considered as equal to R = 6; 378; 393m. The INS velocity components Vxc and Vyc
are computed in the computer frame in east and north. Therefore the velocity error
equation must include the following transformation:
2
6
6
V_ c = 66
4
V_ xc
V_ yc
V_ zc
3
7
7
7
7
5
(5.16)
32
q22 + q32
;(q1q2 ; q0q3) ;(q1q3 + q0q2) 7 6 fxp 7
6
6
76
7
= 2 66 ;(q1 q2 + q0 q3 )
q12 + q32
;(q2q3 ; q0q1) 77 66 fyp 77 ;
4
54
5
;(q1q3 ; q0q2) ;(q2q3 + q0q1)
q12 + q22
fzp
2
;[Vxctg(')=Rx + 2!ie sin(')]
6 0
6
; 66 Vxctg(')=Rx + 2!ie sin(') 0
4
;[Vxc=Rx + 2!ie cos(')] ;Vyc=Ry
Vxc=Rx + 2!ie cos(')
Vyc=Ry
0
32
76
76
76
76
54
Vxc 7 6 rpx
7 6
Vyc 77 + 66 rpy
5 4
Vzc
rpz
3
7
7
7
7
5
where rp = [rpx ; rpy ; rpz ]T is the accelerometer error vector in the platform frame.
2
6
6
R_ c = 66
4
R_xc
R_yc
R_zc
3
7
7
7
7
5
(5.17)
= V c ;
cecRc
2
6
6
6
6
4
117
Vxc 7 6 0
;Vxctg(')=Rx Vxc=Rx
7 6
Vyc 77 ; 66 Vxc tg(')=Rx 0
Vyc =Ry
5 4
Vzc
;Vxc=Rx
;Vyc=Ry
0
32
76
76
76
76
54
Rxc
Ryc
Rzc
3
7
7
7
7
5
3
7
7
7
7
7
7
7
5
(5.18)
118
2
7
76
76
76
76
74
7
5
px
py
pz
;Vyc=Ry
3
7
7
7
7
5
(5.19)
where p = [px ; py ; pz ]T is the gyro error vector in the platform frame.
(5.20)
X being the function of the velocity error, the position error and the quaternions, the
process model becomes:
2
3
2
3 2
p
c
c
c
c
c
p
_
6 V 7
6 (I33 ; C (Qp ))ft ; (2
ie +
ec )V 7 6 r
6
7
6
7 6
6 R_ c 7 = 6
7+6 0
V c ;
cecRc
6
7
6
7 6 3 1
4
5
4
5 4
p
Q_ cp
B (I ; C (Qc ))!icc
;Bp
where
2
fc (X; t) =
6
6
6
6
4
3
7
7
7
7
5
(5.21)
3
7
7
7
7
5
(5.22)
Gcu(t) =
6
6
6
6
4
rp
031
;Bp
119
3
7
7
7
7
5
(5.23)
Rather than model rb and b in the body frame as in the psi angle approach, this
method handles the IMU errors directly in the platform frame. rp = [rpx; rpy ; rpz ]T
and p = [px ; py ; pz ]T are the accelerometer and the gyro error vectors in the platform
frame. They are related to the IMU biases in the body frame by:
rp = C (Qpb) rb
p = C (Qpb ) b
(5.24)
(5.25)
where the matrix C (Qpb ) transforms the vectors from the body frame to the platform
frame. It must be noted that the quaternions Qpb in (5.24) and (5.25) do not contain
the lter state estimate Qcp .
Let
2
D1p
6
6
6 Dp
p
p
D = ;B = 666 2p
6 D3
4
D4p
3
7
7
7
7
7
7
7
5
(5.26)
and
E = ;B C (Qpb)
(5.27)
Dp = ;Bp = E b
(5.28)
Then
The turn-on biases of the accelerometers and the gyros in the body frame are removed in the coarse alignment and during the zero velocity stage when the vehicle
stops. The remains of the bias rb of the accelerometers and the bias b of the gyros in
the body frame are considered as white Gaussian noise.
120
The linear combinations of jointly white Gaussian 2random3 variables are also white
rp
Dp
noises.
Let us set the noise u(t) as
2
u(t) = 64
rp
Dp
rpx
6
6
6 rpy
6
6
6
p
6 rz
6
3
7
5
= 666 D1p
6
6
6
6
6
6
4
D2p
D3p
D4p
7
5
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(5.29)
This can be projected into the state space using the transformation matrix Gc:
2
Gc =
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(5.30)
121
Z = 64
2
= 64
2
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
RINS ; RGPS
c ; Vb t
VbINS
GPS
bc
bt
Rc ; ;gps
V c ; gps
Rxc
Ryc
Rzc
Vxc
Vyc
Vzc
7
5
(5.31)
3
7
5
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
;x
;y
;z
x
y
z
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
c
6 V 7
6
7
Z = H 66 Rc 77 ;
Qcp
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
;x
;y
;z
x
y
z
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(5.32)
122
H is given by:
2
H=
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(5.33)
(5.34)
fc (X; t) =
and
6
6
6
6
4
rpx
6
6
6 rpy
6
6
6
p
6 rz
6
3
7
7
7
7
5
(5.35)
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(5.36)
123
we have:
(5.37)
(5.38)
= fk (X (tk )) + Gk uk
where
(5.39)
3
7
7
7
7
5
X (tk );tk
and
Gk = Gcdt
(5.40)
uk = u(tk )
The measurement is taken at the GPS sampling time. The discrete observation
equation is:
(5.41)
Xk = fk (Xk ) + Gk uk
Zk = HXk + wk
(5.42)
124
125
*
*
Nonlinear
Transformation
*
*
*
*
DAF Principle
If the discrete lter process model and observation model are:
Xk = fk (Xk ) + Uk
(5.43)
Zk = HXk + wk
it is assumed that the process noise Uk is a Gaussian-distributed, zero mean random
variable with covariance Qk . The process noise at any time is independent of the state
of the system.
E [U ] = 0
(5.44)
126
E [w] = 0
(5.45)
Y = g[X ]
(5.46)
127
and covariance. With this approach, there is no need to evaluate Jacobian matrices to
compute the estimation of mean and covariance as in the EKF method.
The DAF is summarized as follows:
(5.47)
ok;k = Xk;k
ik;k = ik;k + Xk;k
which assures that
Pk;k = n +1
2n
X
i=1
(5.48)
2n
X
i=1
ik+1;k ]
(5.49)
2n
X
i=1
(5.50)
2n
X
i=1
Zik+1;k g
(5.51)
128
Xk = fk (Xk ) + Gk uk
Zk = HXk + wk
where fk (Xk ), Gk uk and H are as equations (5.39), (5.40) and (5.33).
The initial lter state starts from X0;0 = [0; 0; 0; 0; 0; 0; q0 (1); q1 (1); q2 (1); q3 (1)]T
with zero INS velocity error, zero INS position error and arbitrary initial quaternion
error [q0 (1); q1 (1); q2 (1); q3 (1)]T . The initial covariance matrix is set by
2
P0;0 =
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
V2 x
0
0
0
0
0
0
0
0
0
2
Vy
0
0
0
0
0
0
0
0
0
0
V2 z
0
0
0
0
0
0
0
0
0
0
2
Rx
0
0
0
0
0
0
0
0
0
0
2
Ry
0
0
0
0
0
0
0
0
0
0
2
Rz
0
0
0
0
0
0
0
0
0
0
q20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 q21
0 0 q22
0 0 0 q23
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(5.52)
The diagonal terms of P0;0 represent variances or mean-squared errors. The odiagonal terms are set to be zeros.
129
Q0 =
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
2 x
acc
0
0
0
0
0
0
0
0
2 y
acc
2 z
acc
0
0
0
0
0
0
0
0
0
0
0
0
q2 0
0
0
0
0
0
0
0
q2 1
0
0
0
0
0
0
0
q2 2
0
0
0
0
0
0
0
q2 3
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(5.53)
where the tuning of the diagonal terms of Q0 determines the performance of the lter.
The initial measurement noise R0 is set by
2
r2 0 0 0
6 rx
6
6 0
rry2 0 0
6
6
6
2 0
0 rrz
6 0
6
R0 = 6
2
6 0
0 0 rvx
6
6
6
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0 rvy
2
0 0 rvz
0
0
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(5.54)
The diagonal terms of R0 are initial measurement noises on INS and GPS position
and velocity.
The lter is implemented at time tk using the DAF. Following the DAF procedures
(5.47) to (5.51):
At the data fusion time tk;1, the state estimate is Xk;1. The projected covariance
matrix is Pk;1 :
At the current data fusion time tk , compute the points using the projected
covariance Pk;1 .
p
= nPk;1
where n is the size of Pk;1.
(5.55)
130
(5.56)
Transform each point through the nonlinear state process model as:
ik;k;1 = fk (ik;k )
(5.57)
Compute the predicted mean. Then the estimated errors are used to update the
states. After the correction, the predicted mean state Xk;k;1 of the lter should
be reset to zero:
(5.58)
2n
X
i=1
(5.59)
(5.60)
Since the predicted state is zero, the update state estimate Xk is computed as:
Xk = Kk Zk
(5.61)
(5.62)
5.4 Summary
131
Qpb = Qcp
Qpb
(5.63)
with
being the quaternion multiplication.
After this lter cycle, the INS will continue to generate navigation data at the IMU
sampling rate until the next GPS x becomes available.
5.4 Summary
In this chapter, the INS algorithm using quaternions for low cost IMUs has been presented.
INS provides navigation data with high frequency in between GPS updating. At
each INS navigation step, the INS velocity, position, attitude and quaternions are
updated independently. The quaternions are used to represent both the vehicle attitude
and the misalignment of the computer frame and the platform frame. Quaternion
initialization and update using a 2-step Adams-Bashford method are presented in this
approach.
The initial alignment method with unknown initial attitudes is developed using an
in-motion alignment lter aided by external velocity or position information. In this
approach, the GPS is used as the external information both for alignment and to bound
errors. The INS error propagation models developed in the previous chapter are used
as process models.
The Distribution Approximation Filter is used to solve the nonlinear lter and its
advantages with respect to the EKF are presented.
Experimental results will be presented in the next chapter.
Chapter 6
Experimental Results
6.1 Introduction
This chapter presents the experimental results for the INS algorithms using the psi
angle approach, the quaternion approach and the GPS modelling.
The results of the GPS modelling in the frequency domain are presented in Section
6.2. Model parameters are shown. PSDs of raw GPS position data and the calculated
PSDs using the model parameters are compared with the experimental data obtained
using a standard GPS receiver. Section 6.2.2 validates the GPS model by a set of plots
in the frequency domain and the time domain using the feed back de-correlation lter.
Section 6.3 shows the experimental results to verify the psi angle model and the INS
algorithm for a low cost IMU. The experiment uses a low cost IMU aided by a DGPS.
The results will display how the heading errors are corrected from 180 to 0.1 . INS
alignment and calibration results will be presented in this section.
Section 6.4 outlines the experimental results of the quaternion algorithm developed
in this thesis. INS errors in acceleration, velocity, position, attitude and quaternions
will be presented using this approach.
The experimental procedures were designed based on IEEE standards and other
publications [84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95].
132
133
134
x 10
3.5034
3.5034
z meters
3.5034
3.5035
3.5035
3.5035
3.5035
2.5708
2.5707
4.6599
2.5707
x 10
4.66
2.5707
4.66
2.5707
y meters
x 10
4.66
2.5707
4.6601
x meters
x meters
100
100
0
100
200
300
400
500
600
700
800
900
100
200
300
400
500
600
700
800
900
100
200
300
400
500
600
700
800
900
y meters
50
50
0
z meters
100
50
0
50
0
time
135
PSD x
60
50
40
30
20
10
10
20 4
10
10
10
10
10
PSD : y
50
40
30
20
10
10
20 4
10
10
10
10
10
136
PSD : z
50
40
30
20
10
10
20 4
10
10
10
10
10
x
y
z
The smooth curves in the Figure 6.6, 6.7 and 6.8 are the estimated PSDs in axes x, y
and z using the estimated models. The measured PSDs are plotted with the estimated
PSDs.
137
PSD x
60
50
40
30
20
10
10
20
4
10
10
10
10
10
PSD : y
50
40
30
20
10
10
20
30
4
10
10
10
10
10
138
PSD : z
60
50
40
30
20
10
10
20
30
4
10
10
10
10
10
x
50
Gain dB
50
100 5
10
10
10
10
10
Frequency (rad/sec)
10
10
Phase deg
180
90
90
5
10
10
10
10
10
Frequency (rad/sec)
10
10
139
y
50
Gain dB
50
100 6
10
10
10
10
10
Frequency (rad/sec)
10
10
10
Phase deg
180
90
90
6
10
10
10
10
10
Frequency (rad/sec)
10
10
10
z
50
Gain dB
50
100 6
10
10
10
10
10
Frequency (rad/sec)
10
10
10
Phase deg
180
90
90
6
10
10
10
10
10
Frequency (rad/sec)
10
10
10
140
x
100
80
60
meters
40
20
0
20
40
60
80
0
200
400
600
800
1000
1200
1400
1600
1800
Figure 6.12: Time domain performance in axis x using the estimated model.
The lter performance in the time domain is shown in Figure 6.12, 6.13 and 6.14.
It can clearly be seen that the estimated shaping states track the measured GPS noise.
The parameter values of the shaping lter are essential for the de-correlation process.
For instance, a change of the parameter , with = 0:003; will generate the degraded
performance shown in Figure 6.15 and 6.16. The dashdot curve in Figure 6.15 is the
estimated shaping state. The solid curve is the measured GPS noise. The change of
the poles in the model produces a large error in the shaping state estimate.
Similar changes can be seen by changing other parameters:
Figure 6.17
Figure 6.18
axis x
axis z
r = 0:05 b = 0:8; k = 1; r = 0:9
141
y
100
80
60
40
meters
20
0
20
40
60
80
0
200
400
600
800
1000
1200
1400
1600
1800
Figure 6.13: Time domain performance in axis y using the estimated model.
Z
100
80
60
meters
40
20
0
20
40
60
80
0
200
400
600
800
1000
1200
1400
1600
1800
Figure 6.14: Time domain performance in axis z using the estimated model.
142
y
100
80
60
40
meters
20
0
20
40
60
80
0
200
400
600
800
1000
1200
1400
1600
1800
Figure 6.15: Time domain performance in axis y when the poles of the model change.
50
Gain dB
0
Shaping state
50
100 5
10
10
10
10
10
Frequency (rad/sec)
10
10
Phase deg
180
90
90
5
10
10
10
10
10
Frequency (rad/sec)
10
10
Figure 6.16: Bode plot of the transfer function for axis y when the poles of the model
change.
143
x
100
80
60
meters
40
20
0
20
40
60
80
0
200
400
600
800
1000
1200
1400
1600
z
150
100
meters
50
50
100
0
200
400
600
800
1000
1200
1400
1600
1800
Figure 6.18: Time domain performance in axis z when three parameters are changed.
144
145
Position
250
200
North (m)
150
100
50
50
300
250
200
150
East
100
(m)
50
50
x; y; z;
(6.1)
where V c = [Vxc ; Vyc ; Vzc ]T is the INS velocity error vector in the computer frame,
Rc = [Rxc ; Ryc ; Rzc ]T is the INS position error vector in the computer frame,
= [ x; y; z ]T is the psi angle vector which is the angle between the computer frame
and the platform frame, rb = [rbx ; rby ; rbz ]T is the vector of the accelerometer biases in
the body frame and b = [bx ; by ; bz ] is the vector of the gyro biases in the body frame.
The lter is initialized with an arbitrary heading between 180 . The system runs
on prediction using IMU data until DGPS information becomes available. At this time
the IMU state is updated and the heading is corrected as shown in Figure 6.22.
Figure 6.23 shows how the heading error diminishes to 1 in approximately 15
seconds. After this stage, the system is switched to the small angle form of the lter.
The position outputs of the INS and the GPS are shown in Figure 6.24. The INS
continually outputs navigation data between two consecutive GPS sampling times. The
GPS information is used to correct the INS velocity, position and DCM at each GPS
146
Accelerometer x
4
m/s2
2
0
2
4
50
100
150
200
y
250
300
350
400
50
100
150
200
z
250
300
350
400
50
100
150
200
Time
250
300
350
400
m/s2
m/s2
10
15
Figure 6.20: Outputs of three accelerometers. The units for the x axes are seconds.
gyro x
0.2
rad/s
0.1
0
0.1
0.2
50
100
150
200
y
250
300
350
400
50
100
150
200
z
250
300
350
400
50
100
150
200
Time
250
300
350
400
0.2
rad/s
0.1
0
0.1
0.2
1
rad/s
0.5
0
0.5
1
Figure 6.21: Outputs of three gyros. The units for the x axes are seconds.
147
position
4
GPS
3.5
INS
North (m)
2.5
GPS
INS
GPS
2
start
INS
1.5
1
16
14
12
10
8
East (m)
Figure 6.22: INS starts with a wrong heading. The lter corrects the heading in the
rst 20 seconds.
heading error
100
degree
50
0
50
100
0
10
12
14
16
12
14
16
6
time
8
:
10
sec
148
position
190
GPS
GPS
188
INS
186
INS
North (m)
184
182
180
178
176
174
172
170
95
90
85
80
East (m)
Figure 6.24: Position outputs of the INS and the GPS after attitude correction. The
INS continually outputs navigation data between two consecutive GPS sampling times.
sampling time.
Tilt and heading errors are within 0:05 as shown in Figure 6.25.
At the end of the run, the vehicle returned to the starting position and stayed
stationary for a few seconds. The acceleration and velocity predicted by the INS should
be zero during this period. The acceleration outputs in the p-frame are shown in Figure
6.26. It can be seen that the accelerations are very close to zero implying that the
alignment procedure is able to correct the transformation matrix or direction cosine
matrix (DCM).
Without DCM correction, only position and velocity errors are corrected. In this
case, the acceleration is not zero at the end of the run as shown in Figure 6.27.
The drift of one of the gyros used in the IMU is shown in Figure 6.28. It can be
appreciated that the random walk is about 0.1 degree=min. To degrade the accuracy
of the unit, an additional random noise plus drift was added to the IMU sensors. The
noise added to the three accelerometers and the three gyros was approximately 3 times
149
tilt error x
degree
0.01
0.01
108
108.5
109
109.5
110
110.5
111
tilt error y
111.5
112
112.5
113
0.05
108 3108.5
x 10
5
109
109.5
110
110.5
111
heading error z
111.5
112
112.5
113
109
109.5
110
110.5
111
time (seconds)
111.5
112
112.5
113
degree
0.05
degree
5
108
108.5
acceleration east
0.5
0
0.5
1
1.36
1.37
1.38
1.39
1.4
north
1.41
1.42
1.43
4
x 10
0.4
0.2
0
0.2
0.4
0.6
1.36
1.37
1.38
1.39
up
1.4
1.41
1.42
1.43
4
x 10
0.5
0
0.5
1.37
1.38
1.39
1.4
time
1.41
1.42
1.43
4
x 10
Figure 6.26: At the end of the run, the acceleration of the INS output in the p;frame
is very close to zero with DCM correction. The unit of the acceleration is m=s2 .
150
acceleration east
0.3
0.2
0.1
0
0.1
1.39
1.395
1.4
1.405
1.41
1.415
north
1.42
1.425
1.43
1.435
4
x 10
0.2
0
0.2
1.37
1.38
1.39
1.4
up
1.41
1.42
1.43
1.44
4
x 10
0.2
0
0.2
1.37
1.38
1.39
1.4
time
1.41
1.42
1.43
4
x 10
Figure 6.27: The acceleration of the INS output in the end is not zero without DCM
correction. The unit in the plot is m=s2 :
151
0.025
0.04
0.02
0.03
0.015
0.02
0.01
degree/sec
0.01
0.005
0
0
0.01
0.005
0.02
0.01
0.03
0.015
0.02
0
500
1000
time
1500
0.04
0
500
1000
1500
time
Figure 6.29: The noise added to the three accelerometers and the three gyros was
approximately 3 times larger than the standard noise of the Watson IMU. The unit of
the acceleration noise is m=s2 .
larger than the standard noise of the Watson IMU. The drift rate of the perturbed gyro
noise is shown in Figure 6.29 and is now about 0.3 degree= min.
The alignment results can be seen in Figure 6.30 and Figure 6.31.
At the end of the run, the rotation rate and the acceleration should be close to
zero. In Figure 6.30, the rotation rate without lter calibration in 3 gyros is about
0.3 degree=sec while it is approximately zero with the alignment algorithm. Similar
results are obtained with acceleration as shown in Figure 6.31. The acceleration in the
platform frame at the end is close to zero with the calibration of the lter when the
acceleration is perturbed.
These results prove that the biases in gyros and accelerometers are properly estimated.
152
0.4
0.2
0
0.2
0.4
0.6
0.8
1.38
1.39
1.4
1.41
1.42
1.43
4
degree/sec
x 10
0.2
0
0.2
0.4
0.6
1.38
1.39
1.4
1.41
1.42
1.43
4
x 10
0.5
0
0.5
1.36
1.37
1.38
1.39
1.4
raw gyro data+added noise
1.41
1.42
Red:after filter
1.43
4
x 10
Figure 6.30: The INS rotation rate at the end of the run when the vehicle is stationary
should be zero. The solid curve is the rotation rate after calibration by the lter. It is
close to zero. The 'plus +' curve is the rotation rate without calibration.
Acceleration_East_North_Up
4
2
0
2
0
100
200
300
400
500
600
700
800
900
1000
100
200
300
400
500
600
700
800
900
1000
100
200
300
400
500
600
700
800
900
1000
0.5
0
0.5
1
0
1
0
1
2
0
Figure 6.31: With perturbed acceleration, at the end of the run, the acceleration in the
platform frame is close to zero after calibration by the lter.
153
(6.2)
where
[Vxc ; Vyc ; Vzc ]T is the INS velocity error vector in the computer frame.
[Rxc ; Ryc ; Rzc ]T is the INS position error vector in the computer frame.
[q0 ; q1 ; q2 ; q3 ]T is the quaternion representing the error between the computer frame
and the platform frame.
The Distribution Approximation Filter starts with arbitrary initial quaternions.
The vehicle trajectory starts from (0; 0) of the local level frame which is at the right
bottom corner of the Figure 6.32. The INS outputs wrong navigation information at the
beginning of the run due to incorrect alignment. The position and heading correction
can be appreciated in this gure after 60 lter iterations, which is about 20 seconds. The
heading error is corrected to less than 2 . Figure 6.33 shows this heading correction.
The quaternion errors are shown in Figure 6.34. After 60 lter iterations which is
approximately 20 seconds, the quaternion errors become very close to [1; 0; 0; 0]T ; which
represents a zero rotation between the computer frame and the platform frame. Figure
6.35 is an enhanced view of the four elements of the quaternion errors at around 40
seconds of the vehicle running time.
The accelerations in the three axes of the platform frame are shown in Figure 6.36.
At the end of the run, the true acceleration in the platform should be zero. Figure
6.37 is the enhanced view of the calculated acceleration in the platform frame. The
154
Position
4
3.5
North (m)
2.5
1.5
18
16
14
12
10
East (m)
Figure 6.32: At the beginning, the INS is uncertain within 180 . After 60 iterations
of the lter, the INS heading error is corrected to less than 5 .
Heading Error
150
Degree
100
50
50
20
40
60
80
100
120
Figure 6.33: The INS heading error is diminished to small angles after 60 iterations of
the lter.
q0
1
155
q1
x 10
0.95
0.5
0.9
0.85
0
0.8
0.75
0.5
0.7
0.65
20
40
60
80
100
20
40
q2
x 10
60
80
100
60
80
100
q3
1
1.5
0.5
1
0.5
0
0
0.5
0.5
1
1.5
20
40
60
80
100
20
40
q0
q1
x 10
1.5
1.0003
1.0002
1.0001
0.5
0.9999
0.5
0.9998
0.9997
110
120
130
140
150
120
q2
x 10
140
160
q3
x 10
5
5
0
0
5
10
15
5
120
130
140
150
160
120
130
140
150
Iteration
160
170
Figure 6.35: The enhanced view of the quaternion errors between the lter iteration
100 to 160 which correspond to the vehicle running time 25 seconds to 45 seconds.
The four elements are very close to [1; 0; 0; 0]T which represents quaternions of a zero
rotation from the computer frame to the platform frame.
156
Acceleration
5
100
200
300
400
500
600
700
800
100
200
300
400
500
600
700
800
100
200
300
400
Iteration
500
600
700
800
4
2
0
2
4
10
5
0
5
Figure 6.36: Accelerations in the three axes of the platform frame. The unit of the plot
is m=s2 :
acceleration in axis x and axis z are very close to zero. The error in axis y is about
0.08 m=s2 :
The attitude errors in the three axes are shown in Figure 6.38. The tilt errors are
less than 0:04 . The heading errors are within 0.5 .
The velocity and position errors at the end of the run can be seen in Figure 6.39.
The velocity errors are within 0.5m=s2 : The position errors are within 0.2m.
Figure 6.40 shows the position curves of the INS and GPS outputs after 170 seconds
of the run. In this run the sampling frequency of the GPS is about 5Hz. The INS
position prediction matches the GPS position plot which is the label \o" in the plot.
Figure 6.41 is an enhanced view of this position match. The INS position output is
as the solid curve. The GPS position output is as the curve \o".
157
Acceleration
0.5
0
0.5
1.37
1.38
1.39
1.4
1.41
1.42
1.43
4
x 10
1
0.5
0
0.5
1
1.34
1.35
1.36
1.37
1.38
1.39
1.4
1.41
1.42
1.43
1.44
4
x 10
1
0
1
1.33
1.34
1.35
1.36
1.37
1.38
1.39
Iteration
1.4
1.41
1.42
1.43
4
x 10
Figure 6.37: At the end of the run, the vehicle is stationary. The accelerations in the
three axes of the platform frame are very close to zero.
Tiit Error x
Degree
0.02
0
0.02
628
630
632
634
636
638
640
Tiit Error y
642
644
646
648
0.04
Degree
0.02
0
0.02
625
630
635
640
645
Heading Error
650
655
660
Degree
0.5
0.5
630
635
640
Iteration
645
650
655
Figure 6.38: Tilt errors are less than 0.04 . Heading errors are within 0.5 .
Velocity Error
Position Error
x 10
5
xm
0.05
x m/s
158
0
0.05
0
5
660
665
670
675
680
685
660
665
3
x 10
0.3
670
675
680
685
20
0.1
0.2
10
0
0
0.1
640
650
660
670
680
690
660
665
670
675
680
685
0.03
0.02
0.1
0.01
0
0.1
0.01
640
650
660
670
680
690
650
660
670
680
690
Figure 6.39: The velocity errors are within 0.1 m=s. The position errors are within
0.02 m.
Position
50
45
40
35
North (m)
30
25
20
15
10
5
0
10
15
20
25
30
East (m)
35
40
45
50
Figure 6.40: The solid curve is the INS position output. Curve \o" is the GPS position
output. INS outputs position data with the frequency of 84Hz between two GPS
position outputs.
6.5 Summary
159
Position
189
North (m)
188
187
186
185
184
86
85
84
83
82
81
East (m)
Figure 6.41: INS Position and heading corrections can be seen in the curve between
two GPS position outputs.
6.5 Summary
The GPS modelling results have veried the modelling theory and techniques in the
frequency domain developed in this thesis.
The experimental results in this chapter have veried the psi angle and the quaternion models for low cost INS developed in this thesis.
These results have shown that for a low cost INS with aiding GPS information,
position, velocity and attitude accuracy can be achieved using the INS algorithms in
the psi angle approach and the quaternion approach presented in this thesis.
Chapter 7
161
INS error models for large attitude errors in the computer frame approach with both psi
angle form and quaternion form, and the development of two integrated INS algorithms
for a low cost INS. These two algorithms were aided by the GPS. GPS modelling in
the frequency domain was also discussed extensively.
In Chapter 2, the generic INS error propagation models for large attitude errors
in the psi angle approach and the quaternion approach were presented.
A short survey of INS error models was given in Section 2.2. This survey showed
that two approaches have been adopted in the literature: the psi angle approach (or the
computer frame approach) and the phi angle approach (or the true frame approach).
So far, there are no generic error propagation models for three large attitude errors.
All the quaternion error models in the literature are based on small angle assumption.
Section 2.3 developed INS error propagation models for large errors in the psi angle
approach. There are three models: the velocity error model, the position error model
and the attitude model. The attitude errors were presented using three psi angles. In
this case, the three attitude errors can be assumed to be large with uncertainties of
180 :
It was argued that INS attitude updating using quaternions provides more accuracy,
requires less computation and avoids singularity in computation. This motivated the
development of another set of INS models in quaternion form for large errors in Section
2.4. The computer frame approach was also used in this model. Quaternion errors
were presented using the quaternions between the platform frame and the computer
frame. Diering from other quaternion models, these models make no assumption of
small angle errors.
Chapter 3 presented the identication of GPS error models using frequency domain
techniques.
It is argued that the navigation problem can be generally split into two components:
creating a process model of the host vehicle and understanding or modelling the sensors
to be used. The process model of a navigation system describes the prediction of states
which are typically the position, velocity, attitude and related parameters aecting
162
these variables. This chapter detailed the modelling of the GPS measurement which is
used to aid INS navigation.
Section 3.2 reviewed previous work on GPS modelling in the frequency domain. This
review showed that a GPS position error model has not been theoretically developed
in the frequency domain. Section 3.3 derived a GPS position error model. It is proved
that the transfer function of the GPS position error in any frame has the identical poles
and zero as the pseudo-range error. A modelling method using power spectral density
of the noise was presented in Section 3.4. Section 3.5 examined the de-correlation of
the GPS coloured noise. A shaping lter was introduced to the de-correlation lter. An
additional sensor is required for de-correlation. Feedforward lter and feedback lter
with the INS and GPS measurements were analyzed in both the frequency domain and
the time domain to determine the quality of aiding sensors to perform de-correlation.
Chapter 4 designed a low cost INS algorithm with unknown initial conditions using
the psi angle approach in the computer frame.
The INS alignment algorithms were reviewed in Section 4.2. This review showed
that the analytic coarse alignment method and gyrocompassing are the major methods
for self-alignment. They require the measurements of the gravity vector and the earth
rate by three accelerometers and three gyros. In-motion alignment is also used for
INS ne alignment and was reviewed. It is shown that most of the applications in the
literature for in-motion alignment were based on lters with known initial attitudes. For
a low cost IMU with low resolution, the initial attitude errors are large. The algorithms
to solve this problem were reviewed.
In this chapter, a new algorithm was developed in the computer frame approach
that can be used with unknown initial attitudes.
Section 4.3 described the on ground coarse alignment for low cost IMUs. This
algorithm also takes into account the turn-on biases estimation. The coarse initial
direction cosine matrix was formulated.
The solution of unknown initial attitudes was presented in Section 4.4 using an
in-motion alignment algorithm. A lter with error propagation models for large error
163
angles in the computer frame was developed. The lter was implemented using the
Extended Kalman Filter (EKF).
Chapter 5 dealt with the issue of developing an INS algorithm for a low cost IMU
using quaternions in the computer frame.
Section 5.2 described independent INS navigation using quaternions. Quaternion
initialization was formulated. A 2-step Adams-Bashford method was introduced for
quaternion update.
The quaternion algorithm to deal with unknown initial attitudes was developed
in Section 5.3. The quaternion errors were exploited using the misalignment of the
computer frame and the platform frame. The entire lter process model structure
and the process noise were presented. The process noise vectors were reconstructed
using the linear combination of the white noise on the accelerometers and gyros in the
body frame. A Distribution Approximation Filter (DAF) was used to implement this
algorithm. The principle and the benet of the DAF were brie
y described.
Chapter 6 presented the experimental results for the INS algorithms using the psi
angle approach, the quaternion algorithm and the GPS modelling.
The results of GPS modelling in the frequency domain were presented in Section
6.2. The GPS model was validated using a set of plots in the frequency domain and
the time domain using a feedback de-correlation lter.
Section 6.3 presented the experimental results to verify the psi angle models and
the INS algorithm for low cost IMUs using these models. The experiment used a low
cost IMU aided by a DGPS. The results demonstrated how the heading errors were
corrected. INS alignment and calibration results were also presented in this section.
Section 6.4 outlined the experimental results of the quaternion algorithm. INS
errors in acceleration, velocity, position, attitude and quaternions were examined.
These results have shown that for a low cost INS with aiding GPS information,
position, velocity and attitude accuracy can be achieved using the INS algorithms
presented in this thesis.
7.3 Contributions
164
7.3 Contributions
The major contributions of this thesis are the development of the error models and
the applications of the models to integrated INS algorithms. This section outlines the
individual contributions of this thesis.
7.3 Contributions
165
errors. The model is suitable for both small and large angles.
7.3.4 INS Algorithm for Low Cost IMU Using Psi Angle Approach
An important contribution of this thesis is the INS algorithm using the psi angle approach. This algorithm was designed for a low cost INS whose resolution is low to
perform INS self-alignment. The main contribution is the in-motion alignment to solve
the initial attitude uncertainty.
The algorithm includes raw data process, coarse leveling, in-motion alignment and
calibration. A GPS shaping lter is introduced in the lter model. When a high
accuracy DGPS was used, the error of the DGPS was modelled as white noise. The
lter procedure using the EKF was formulated. After the attitude errors diminish to
small angles, the lter still works using the psi angle model in its small angle form
which is a special case of the psi angle model. The biases of the accelerometers and
gyros were modelled and calibrated in-motion. This algorithm combines INS alignment,
calibration and navigation under one lter.
166
7.3.5 INS Algorithm for Low Cost IMU Using Quaternion Model
Another contribution of this thesis is the INS algorithm using the quaternion model
for low cost inertial systems with low resolution which are not able to conduct selfalignment.
It is argued that computing the INS attitude using quaternions has more advantages
than using Euler angles and the direction cosine matrix. The INS alignment and calibration were implemented in-motion using a nonlinear lter whose process models were
the INS error propagation models using quaternions. To avoid deriving the Jacobian
matrices of the lter, the Distribution Approximation Filter was used in this algorithm.
167
Bibliography
[1] D. H. Titterton and J. L. Weston. Strapdown Inertial Navigation Technology . Peter
Peregrinus on behalf of the Institution of Electrical Engineers, London, 1997.
[2] SAGEM Australasia. Sensor II operating manual and interface guide, 1995.
[3] Drora Goshen-Meskin and Itzhack Y. Bar-Itzhack. Unied approach to inertial
navigation system error modeling. Journal of Guidance, Control and Dynamics,
15(3):648{653, 1992.
[4] Itzhack Y. Bar-Itzhack, Berman N. Control theoretic approach to inertial navigation systems. Journal of Guidance and Control, 11(3):237{245, May-June 1988.
[5] Donald O.Benson. A comparison of two approaches to pure-inertial and dopplerinertial error analysis. IEEE Aerospace and Electronic Systems, AES-11(4):447{
455, July 1975.
[6] Itzharck Y. Bar-Itzhack. Identity between INS position and velocity error models.
Journal of Guidance and Control, 4:568{570, Sept-Oct 1981.
[7] Itzharck Y. Bar-Itzhack. Identity between INS position and velocity error equations
in the true frame. Journal of Guidance and Control, 11(6):590{592, 1988.
[8] S. P. Dmitriyev, O. A. Stepanov and S. V. Shepel. Nonlinear ltering methods application in INS alignment. IEEE Aerospace and Electronic Systems, AES33(1):260{271, January 1997.
168
BIBLIOGRAPHY
169
[9] Bruno M. Scherzinger and D.Blake Reid. Modied strapdown inertial navigation
error models. Proceedings of 1994 IEEE Position, Location and Navigation Symposium - PLANS'94. Las Vegas, NV, USA. IEEE Aerosp. and Electron. Syst. Soc.
, pages 426{430, 1994.
[10] Bruno M. Scherzinger. Inertial navigation error models for large heading uncertainty. Proceedings of PLANS, pages 477{484, 1996.
[11] B. Barshan and H. F. Durrant-Whyte. Inertial navigation systems for mobile
robots. IEEE Trans. on Robotics and Automation, 11(3):328{342, June 1995.
[12] J. Vaganay and M. J. Aldon. Attitude estimation for a vehicle using inertial sensors. Proceedings the 1st IFAC International Workshop on Intelligent Autonomous
Vehicles, pages 89{94, April 1993.
[13] Hyung Keun Lee, Jang Gyu Lee, Yong Kyu Roh and Chan Gook Park. Modeling
quaternion errors in SDINS: computer frame approach. IEEE Transactions on
Aerospace and Electronic Systems, 34(1):289{297, January 1998.
[14] Bernard Friedland. Analysis strapdown navigation using quaternions. IEEE Transactions on Aerospace and Electronic Systems, AES-14(5):764{768, September 1978.
[15] S. Vathsal. Optimal control of quaternion propagation in spacecraft navigation.
Journal of Guidance, Control and Dynamics, 9(3):382{384, May-June 1986.
[16] Phillip J. Fenner. Requirements, application and result of strapdown inertial technology to commercial airplanes. Technical Report AD-P003 622, Boeing Commercial Airplane Company.
[17] Steven Scheding. High Integrity Navigation. PhD thesis, The University of Sydney,
1997.
[18] C. K. Chui and G. Chen. Kalman Filtering with real-time applications. SpringerVerlag, 1987.
BIBLIOGRAPHY
170
[19] Simon J. Julier. Process Models for the Navigation of High Speed Land Vehicles.
PhD thesis, University of Oxford, 1997.
[20] S. J. Julier, J. K. Uhlmann and H. F. Durrant-Whyte. A new approach for ltering
nonlinear systems. Proceedings of the 1995 American Control Conference, Seattle,
Washington, pages 1628{1632, 1995.
[21] S. J. Julier, J. K. Uhlmann and H. F. Durrant-Whyte. A new approach for the nonlinear transformation of means and covariances in linear lters. IEEE Transactions
on Automatic Control, 1996.
[22] S. J. Julier and J. K. Uhlmann. A new extension of the Kalman lter to nonlinear
systems. The Proceedings of AeroSense: The 11th International Symposium on
Aerospace/Defense, Session: Multi Sensor Fusion, Tracking and Resource Management II, 1997.
[23] S. J. Julier and J. K. Uhlmann. A consistent, debiased method for converting
between polar and cartesian coordinate systems. The Proceedings of AeroSense:
The 11th International Symposium on Aerospace/Defense Sensing, Simulation and
Controls, Orlando, Florida. Session: Acquisition, Tracking and Pointing XI, 1997.
[24] Abraham Weinred and Itzhack Y.Bar-Itzhack. The psi-angle error equation in
strapdown inertial navigation systems. IEEE Aerospace and Electronic Systems,
AES-14(3):539{542, May 1978.
[25] N. Lovren and J. K. Pieper. Error analysis of direction cosine and quaternion
parameters techniques for aircraft attitude determination. IEEE Transactions on
Aerospace and Electronic Systems, 34(3):983{989, July 1998.
[26] George Arshal. Error equations of inertial navigation.
control and dynamics, 10:351{358, July-Aug 1987.
Journal of Guidance,
BIBLIOGRAPHY
171
[28] Tuan Manh Pham. Kalman lter mechanization for INS airstart. IEEE AES
System Magazine, pages 3{11, January 1992.
[29] Stergios I. Roumeliotis, Gaurav S. Sukhatme and George A. Bekey. Smoother
based 3d attitude estimation for mobile robot localization. Proceedings of the 1999
IEEE International Conference on Robotics and Automation, pages 1979{1986,
May 1999.
[30] John L. Crassidis and F. Landis Markley. Minimum model error approach for
attitude estimation. Journal of Guidance, Control and Dynamics, 20(6):1241{
1247, November-December 1997.
[31] Xiaoying Kong, E. Nebot and H. Durrant-Whyte. Development of a non-linear
psi-angle model for large misalignment errors and its application in INS alignment
and calibration. Proceedings of IEEE International Conference on Robotics and
Automation, pages 1430{1435, May 10-15 1999. Detroit, MI, USA.
[32] Chen Zhe. Principle of Strapdown Inertial Navigation System. Beijing University
of Aeronautics and Astronautics, 1985.
[33] R. J. Milleken and C. J. Zoller. Principle of operation of NAVSTAR and system
characteristics. Global positioning system : papers published in Navigation, 1:3{14,
1993.
[34] E. M. Nebot, H. Durrant-Whyte, S. Scheding. Frequency domain modeling of
aided GPS with application to high-speed vehicle navigation. IEEE International
Conference on Robotics and Automation, New Mexico, pages 1892{1897, April
1997.
[35] Institute of Navigation. Global positioning system : papers published in Navigation,
volume 1-4. Washington, D.C. Institute of Navigation, 1980-1993.
[36] Bertrand Merminod. The use of Kalman lters in GPS navigation. PhD thesis,
The University of New South Wales, Australia, 1989.
BIBLIOGRAPHY
172
[37] Cliord Meth. With GPS, you can get there from here. Electronic Design, November 1995.
[38] G. D'este R. Zito and M. A. Taylor. Global positioning system in the time domain:
How useful a tool for intelligent vehicle-highway systems. Technical Report 4,
University of South Australia, 1995.
[39] Bertil Ekstrand. Analytical steady state solution for a Kalman tracking lter. IEEE
Transactions on Aerospace and Electronic Systems, 19(6):815{819, November 1983.
[40] Steven R. Rogers. Alpha-Beta lter with correlated measurement noise. IEEE
Transactions on Aerospace and Electronic Systems, 23(4):592{594, July 1987.
[41] Steven R. Rogers. Continuous-time ECV and ECA track lters with colored
measurement noise. IEEE Transactions on Aerospace and Electronic Systems,
26(4):663{666, July 1990.
[42] C. C. Arcasoy, B. Koc. Analytical solution for continuous-time Kalman tracking
lters with colored measurement noise in frequency domain. IEEE Transactions
on Aerospace and Electronic Systems, 30(4):1059{1063, October 1994.
[43] Ralph Mason Joe M. Toth and Ken J. Runtz. Precise navigation using adaptive FIR ltering and time domain spectral estimation. IEEE Transactions on
Aerospace and Electronic Systems, 30(4):1071{1076, October 1994.
[44] R. A. Walker and K. Kubik. Parabolic equation modelling of GPS signal propagation and RF communication links in the open mining enviroment. Proceedings of
Fourth International Symposium on Mine Mechanisation and Automation, 2:B6{
47{B6{55, July 1997.
[45] Simon Cooper. A frequency response method for sensor suite selection with an
application to high-speed vehicle navigation. PhD thesis, Oxford University, June
1996.
BIBLIOGRAPHY
173
BIBLIOGRAPHY
174
[56] Heung Won Park, Jang Gyu Lee and Chan Gook Park. Covariance analysis of
strapdown INS considering gyrocompass characteristics. IEEE Transactions on
Aerospace and Electronic Systems, AES-31(1):320{328, January 1995.
[57] J. C. Huang, H. V. White. Self-alignment techniques for inertial measurement
units. IEEE Transactions on Aerospace and Electronic Systems, AES-11(6):1232{
1247, November 1975.
[58] Frank D. Jurenka and Cornnelius T. Leondes. Optimum alignment of an inertial
autonavigator. IEEE Transactions on Aerospace and Electronic Systems, AES3(6):880{888, November 1967.
[59] Itzhack Y. Bar-Itzhack. Two misconceptions in the theory of inertial navigation
systems. Journal of Guidance and Control, 18(4):908{911, 1990.
[60] Itzhack Y. Bar-Itzhack. The enigma of false bias detection in a strapdown system
during transfer alignment. Journal of Guidance and Control, 8(2):175{180, MarchApril 1985.
[61] Cristopher C. Ross and Timothy F. Elbert. A transfer alignment algorithm study
based on actual
ight test data from a tactical air-to-ground weapon launch. Proceedings of IEEE PLANS, pages 431{438, 1994.
[62] Boaz Porat, Itzhack Y. Bar-Itzhack. Eect of acceleration switching during INS
in-
ight alignment. Journal of Guidance and Control, 4(4):385{389, July-August
1981.
[63] Itzhack Y. Bar-Itzhack. Optimal updating of INS using sighting devices. Journal
of Guidance and Control, 1(5):305{312, Sept.-Oct. 1978.
[64] Averil B. Chateld. Fundamentals of High Accuracy Inertial Navigation, volume
174 of Progress in Astronautics and Aeronautics. American Institute of Aeronautics
and Astronautics, Inc., 1997.
BIBLIOGRAPHY
175
[65] Shmuel Merhav. Aero Sensor System and Applications. Springer-Verlag New
york,Inc., 1996.
[66] Yeon Fuh Jiang, Yu Ping Lin. Error estimation of ground alignment to arbitrary
azimuth. IFAC, (AIAA-93-3823-CP):1088{1093, 1993.
[67] R. M. Rogers. IMU in-motion alignment without benet of attitude initialization.
Navigation, 44(3):301{311, Fall 1997.
[68] Xiaoying Kong, Eduardo Nebot and Hugh Durrant-Whyte. Use quaternions in a
low cost strapdown INS unit. Proceedings of the International Conference on Field
and Service Robotics, Canberra, Australia, pages 286{291, 1997.
[69] Fan Yaozu and Xu Dahua. Test and Modeling of Inertial Sensors. Aerospace Press:
Beijing, 1985.
[70] Richard P.Wishner Michael Athans and Anthony Bertolini. Suboptimal state estimation for continuous-time nonlinear system from discrete noisy measurements.
IEEE Transaction on Automatic Control, AC-13(5):504{514, October 1968.
[71] Robert Grover Brown and Patrick Y.C. Hwang. Introduction to random signals
and applied Kalman ltering : with Matlab exercises and solutions. New York :
Wiley, 1997.
[72] Jonh E. Bortz. A new mathematical formulation for strapdown inertial navigation. IEEE Transactions on Aerospace and Electronic Systems, AES-7(1):61{66,
January 1971.
[73] R. E. Mortensen. Strapdown guidance error analysis. IEEE Transactions on
Aerospace and Electronic Systems, AES-10(4):451{457, July 1974.
[74] James C. Wilcox. A new algorithm for strapped-down inertial navigation. IEEE
Transactions on Aerospace and Electronic Systems, AES-3(5):796{802, September
1967.
BIBLIOGRAPHY
176
[75] Yeon Fui Jiang and Yu Ping Lin. Error analysis of quaternion transformations.
IEEE Transactions on Aerospace and Electronic Systems, 27(4):634{638, July
1991.
[76] Francois Martel, Parimal K. Pal, Mark L. Psiaki. Three-axis attitude determination via Kalman Filtering of magnetometer data. NASA Technical Reports
N89-15951, 1989.
[77] Henderson D. M. Shuttle Program. Euler angles, quaternions, and transformation matrices working relationships. NASA Technical Reports NASA-TM-74839,
McDonnell Douglas Tech. Services Co., Inc., 1977.
[78] Paul G. Savage. Strapdown system algorithms. NASA Technical Reports
19840017626 N (84N25694), Strapdown Associates, Inc., 1984.
[79] J. L. Michelin and P. Masson. Strapdown inertial system for tactical missiles using
mass unbalanced two-axis rate gyros. NASA Technical Reports AD-P003 623.
[80] Edward Pervin and Jon A. Webb. Quaternions in computer vision and robotics.
CMU Report CMU-CS-82-150, Carnegie Mellon University, 1982.
[81] Dohyoung Chung, Jang Gyu Lee, Chan Gook Park and Heung Won Park. Equivalence of the quaternion error model for strapdown INS. Proceedings of Intelligent
Autonomous Control in Aerospace Conference. Beijing, PRC, pages 179{183, 1995.
[82] Arieh Iserles. A First Course in the Numerical Analysis. Cambridge University
Press, 1996.
[83] Anh Tuan Le. Modelling and Control of Tracked Vehicles. PhD thesis, The University of Sydney, 1999.
[84] Blaha R. J. and Gilmore J. P. Strapdown system performance optimization test
evaluation. NASA Technical Reports NASA-CR-135484, MIT, 1973.
BIBLIOGRAPHY
177
[85] Peter A. Grundy. Error source recovery INS test
ight data. NASA Technical
Reports AD-A012 359, Intermetrics, Incorporated, 1975.
[86] Ebner R. Brown A. and Mark J. A calibration technique for a laser gyro strapdown
inertial navigation system. Proceedings of DGON symposium on Gyro technology,
Stuttgart, Germany, 1982.
[87] T. G. Smithson. A review of the mechanical design and development of a high
performance accelerometer. Proceedings of Institute of Mechanical Engineering
Conference on Mechanical Technology of Inertial Sensors, pages C49{87, 1987.
[88] The Institute of Electrical and Electronics Engineers, Inc. IEEE Standard Inertial
Sensor Terminology. (IEEE Std 528-1984).
[89] The Institute of Electrical and Electronics Engineers, Inc. IEEE Specication
Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros [Description].
(IEEE Std 292-1969).
[90] The Institute of Electrical and Electronics Engineers, Inc. IEEE Standard Specication Format Guide and Test Procedures for Linear, Single-Axis, Pendulous,
Analog Torque Balance Accelerometer [Description]. (IEEE Std 337-1972).
[91] The Institute of Electrical and Electronics Engineers, Inc. IEEE Standard Specication Format Guide and Test Procedure for Single-Degree-of-Freedom RateIntegrating Gyro [Description]. (IEEE Std 517-1974).
[92] The Institute of Electrical and Electronics Engineers, Inc. IEEE Supplement for
Strapdown Applications to IEEE Standard Specication Format Guide and Test
Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros. (IEEE Std 5291980).
[93] The Institute of Electrical and Electronics Engineers, Inc. IEEE Standard Specication Format Guide and Test Procedure for Linear, Single-Axis, Digital, TorqueBalance Accelerometer [Description]. (IEEE Std 530-1978, R1992).
BIBLIOGRAPHY
178
[94] The Institute of Electrical and Electronics Engineers, Inc. IEEE Standard Specication Format Guide and Test Procedure for Single-Axis Laser Gyros[Description].
(IEEE Std 647-1995).
[95] The Institute of Electrical and Electronics Engineers, Inc. IEEE Recommended
Practice for Precision Centrifuge Testing of Linear Accelerometers [Description].
(IEEE Std 836-1991 (R1997)).
[96] Watson Industries INC. Inertial measurement unit owner's manual, 1995.