K - CiteSeerX

advertisement
Navigation System Design
(KC-3)
Eduardo Nebot
Centre of Excellence for Autonomous Systems
The University of Sydney
nebot@cas.edu.au
April 2006
Navigation System Design
Eduardo Nebot
Slide 1
Course Outline
Part 1 Presents the introductory navigation topics of vehicle modelling, beacon (known feature)
based navigation. The Fundamental principles of Global Positioning System is also presented.
Laboratory: localisation assignment with outdoor experimental data.
Part 2 Presents an introduction to inertial sensors, inertial navigation and GPS / INS data fusion
algorithms. laboratory: Calibration, Alignment and integration of data obtained with a full six
degree of freedom inertial measurement unit (IMU), Integration of GPS/INS data.
Part 3 Presents the fundamentals of Simultaneous Localisation and Mapping. Optimal and
Suboptimal algorithms to reduce the computational and memory requirements of SLAM. laboratory:
SLAM assignment with outdoor experimental data.
Navigation System Design
Eduardo Nebot
Slide 2
Navigation Systems
Navigation ( Localisation ) may be defined as the process of determining vehicle pose, that is:
• vehicle position
• vehicle orientation
• vehicle velocity
This is distinct from Guidance or Control which is the process of controlling a vehicle to achieve a
desired trajectory.
An autonomous vehicular system generally must include these two basic competencies in order to
perform any useful task.
In this course, the problem of navigation is discussed in detail. Probabilistic methods are used in
order to perform accurate, predictable localisation.
Navigation System Design
Eduardo Nebot
Slide 3
An Historical Perspective
The first navigation techniques were used to estimate the position of a ship through dead reckoning,
using observations of the ships speed and heading.
Absolute information was used to provide a position fix. These fixes were obtained when well known
natural or artificial landmarks were recognised. In the open sea, natural landmarks are scarcely
available, making an accurate position update not possible.
Techniques to determine Latitude were developed in the early 1550’s by the Portuguese.
The determination of Longitude took another 300 years to be solved. The approaches were based
on accurate prediction and observation of the moon and by knowing the time with enough accuracy
to evaluate the Longitude.
Captain Cook tested one of Harrison’s chronometers (the Mark IV), on his last journey.
Navigation System Design
Eduardo Nebot
Slide 4
A Modern Perspective
The previous slide introduced the essential elements of navigation, Prediction and Correction.
Prediction can be considered to be the use of a model or some description to provide dead
reckoning information.
Correction is the process whereby the observation of landmarks (either natural or artificial) can
reduce the location uncertainty inherent in dead reckoning.
It may be argued that with the advent of modern sensors such as the Global Positioning System
(GPS) that dead reckoning is no longer a necessary part of navigation. This is not true since there is
no such thing as a perfect sensor. All sensors have some measure of error or uncertainty
present within every measurement.
Similarly, if it were possible to perfectly model vehicle motion, external sensors would not be needed.
Navigation System Design
Eduardo Nebot
Slide 5
A Modern Perspective
Therefore it is essential to understand not only the sensors used for navigation, but also the model
used for prediction, as they both contribute to the accuracy of the position solution.
As both prediction and correction steps contain uncertainty, it is useful to pose navigation as
an Estimation problem.
If the error in prediction, and the error in correction can be modelled as probability distributions
then the Kalman filter can be used to fuse all available information into a common estimate that
may then be used for guidance.
Navigation System Design
Eduardo Nebot
Slide 6
The Kalman Filter
A consistent methodology for estimating position from navigation sensors is through the use of
Kalman filtering and, for nonlinear systems, through the use of the extended Kalman filter.
The Kalman filter is a linear statistical algorithm used to recursively estimate the states of interest.
The states of interest will usually consist of the vehicle pose and other relevant vehicle parameters. In
map building, the state vector can be augmented with feature positions, so that they too may be
estimated.
To aid in the estimation of the states, the Kalman filter requires that there be two mathematical
models: the process model and the observation model. These models correspond to prediction and
correction respectively.
For a linear system subject to Gaussian, uncorrelated, zero mean measurement and process noises,
the Kalman filter is the optimal minimum mean squared error estimator. It also keeps track of the
uncertainties in the estimates.
Navigation System Design
Eduardo Nebot
Slide 7
Vehicle Modelling
The vehicle model can be a very important component of a navigation system.
One of the most important issues with modelling is knowing the limitation of the model selected.
For example, in the case of a pure kinematic model it is important to know the operational range
where the model is valid. A simple kinematics model can be very accurate to predict the trajectory of
a vehicle while moving in straight direction.
However it can have significant degradation when:
• turning ( tire deformation )
• under different load conditions ( changing wheel radius).
Navigation System Design
Eduardo Nebot
Slide 8
Vehicle Modelling
There are different type of models that can be used for a particular application:
• Kinematics models
• Dynamics models
• Lumped parameter models
In this course basic kinematics Ackerman steered vehicle models will be presented and used as a
running example for the different navigation algorithms introduced.
Navigation System Design
Eduardo Nebot
Slide 9
Kinematic Models
One of the simplest method of vehicle modelling is simply to exploit the vehicle’s kinematic
constraints. These constraints are known as the rigid body and rolling motion constraints.
The rigid body constraint makes the assumption that the vehicle frame is rigid, wheras the rolling
motion constraint assumes that all points on the vehicle rotate about the Instantaneous Centre of
Rotation with the same angular velocity.
It is further assumed that there is no slip between the vehicle tyres and the ground, and that vehicle
motion may be adequately be represented as a two-dimensional model whose motion is restricted to a
plane.
Navigation System Design
Eduardo Nebot
Slide 10
Kinematic Models
It is often convenient for modelling purposes to replace the four wheels of an ackerman steered vehicle
with two ‘virtual’ wheels located along the vehicle centerline as can be seen in Figure 1.
These virtual wheels encapsulate the two degrees of freedom we are left with once rigid body and
rolling motion constraints are applied.
gl
gr
x
y
B
'Virtual' Wheels
O
W
Rrr
Figure 1: Ackerman Steered Vehicle Geometry
Navigation System Design
Eduardo Nebot
Slide 11
Basic Kinematic Model
Consider the vehicle model shown in Figure 2, it can be shown that the continuous time form of the
vehicle model (with respect to the center of the front wheel) can be derived as follows:
ẋ(t) = V (t) cos(φ(t) + γ(t))
ẏ(t) = V (t) sin(φ(t) + γ(t))
V (t) sin(γ(t))
φ̇(t) =
B
(1)
V = wR
g
x
y
B
O
Figure 2: Simplified Kinematic Vehicle Model
where x(t) and y(t) denote the position, φ(t) is the orientation with respect to the x axis, and V (t) is
the velocity of the front wheel. γ is defined as the steer angle and B is the base length.
Navigation System Design
Eduardo Nebot
Slide 12
Basic Kinematic Model
It should be noted that for nonlinear models such as this, a closed form solution for the discrete time
vehicle model can not in general be found by integrating Equation 1 between the time intervals tk
and tk−1 as is possible in the linear case.
For nonlinear models, an Euler approximation of the integral can be used, assuming the control
inputs are approximately constant over this interval. This approximation yields a discrete time
vehicle model of the form
x(k) = x(k − 1) + ∆T V (k − 1) cos(φ(k − 1) + γ(k − 1))
y(k) = y(k − 1) + ∆T V (k − 1) sin(φ(k − 1) + γ(k − 1))
V (k − 1) sin(γ(k − 1))
φ(k) = φ(k − 1) + ∆T
B
(2)
where ∆T is defined as the sample time from tk−1 to tk . The input of this system are the wheel’s
angular velocity ω and steer angle γ.
Navigation System Design
Eduardo Nebot
Slide 13
Importance of Modelling
1. LHD (Paper)
2. Straddle Carrier
3. Haul Trucks
Navigation System Design
Eduardo Nebot
Slide 14
Kinematic Model of the Utility Car (UTE)
This section presents a more realistic model of a standard outdoor vehicle shown in Figure 3.
In general the models that predict the trajectory of the vehicle and the models that relates the
observation with the states are non-linear. The navigation algorithms to be used require the
linearisation of these models. In this case the Jacobian of the process and observation are needed
to propagate the uncertainties.
Figure 3: Utility car used for the experiments. The vehicle is equipped with a Sick laser range and bearing sensor, linear variable differential transformer sensor
for the steering and back wheel velocity encoders.
Navigation System Design
Eduardo Nebot
Slide 15
Kinematic Model of the Utility Car (UTE)
The vehicle is equipped with dead reckoning capabilities and an external sensor capable of measuring
relative distance between vehicle and the environment as shown in Figure 4.
The steering control α, and the speed υc are used with the kinematic model to predict the position of
the vehicle. The external sensor returns range and bearing information to features Bi(i=1..n) with
respect to the vehicle coordinates (xl , yl ), that is z(k) = (r, β) , where r and β are range and bearing
to this feature.
Bi
b
z(k)=(r,b)
yL
B3
yl
xl
f
vc
a
B1
xL
Figure 4: Vehicle Coordinate System
Navigation System Design
Eduardo Nebot
Slide 16
Kinematic Model of the Utility Car (UTE)
Considering that the vehicle is controlled through a demanded velocity υc and steering angle α the
process model that predicts the trajectory of the centre of the back axle is given by




ẋ
v · cos (φ)
 c  c

  

 ẏc  =  vc · sin (φ)  + γ
  

vc
φ̇c
L · tan (α)
(3)
Where L is the distance between wheel axles as shown in Figure 5.
Laser
Encoder
yl
xl
H
Pc (yc, xc)
yL
b
L
xL
a
Figure 5: Kinematics parameters
Navigation System Design
Eduardo Nebot
Slide 17
Kinematic Model of the Utility Car (UTE)
The kinematic model of the vehicle is designed to represent the trajectory of the centre of the laser.
Based on Figure 4 and 6, the translation of the centre of the back axle can be given
PL = PC + a · T~φ + b · T~φ+π/
2
(4)
Laser
Encoder
yl
xl
H
Pc (yc, xc)
yL
b
L
xL
a
Figure 6: Kinematics parameters
PL and PC are the position of the laser and the centre of the back axle in global coordinates
respectively.
Navigation System Design
Eduardo Nebot
Slide 18
Kinematic Model of the Utility Car (UTE)
The transformation is defined by the orientation angle, according to the following vectorial expression:
T~φ = (cos (φ) , sin (φ))
(5)
The scalar representation is
xL = xc + a · cos (φ) + b · cos (φ + π/2)
yL = yc + a · sin (φ) + b · sin (φ + π/2)
Finally the full state representation can be written
 


vc · cos (φ) − vLc · (a · sin (φ) + b · cos (φ)) · tan (α)
ẋL
 


 


v
 ẏL  =  vc · sin (φ) + Lc · (a · cos (φ) − b · sin (φ)) · tan (α)  + γ
 


vc
φ̇L
L · tan (α)
The velocity, υc , is measured with an encoder located in the back left wheel. This velocity is
translated to the centre of the axle with the following equation:
νe
¢
vc = ¡
H
1 − tan (α) · L
Navigation System Design
Eduardo Nebot
Slide 19
(6)
(7)
Kinematic Model of the Utility Car (UTE)
Finally the discrete model in global coordinates can be approximated with the following set of
equations:





 


x(k)

 

 
 y(k)  = 

 


φ(k)





x(k − 1) + ∆T vc(k − 1) · cos (φ(k − 1)) −


vc

·
(a
·
sin
(φ(k
−
1))
+
b
·
cos
(φ(k
−
1)))
L



· tan (α(k − 1))


y(k − 1) + ∆T vc(k − 1) · sin (φ(k − 1)) +  + γ


vc (k−1)

·
(a
·
cos
(φ(k
−
1))
−
b
·
sin
(φ(k
−
1)))
L



· tan (α(k − 1))

vc (k−1)
φ(k − 1) + L · tan (α(k − 1))
where ∆t is the sampling time, that in this case is not constant.
Navigation System Design
Eduardo Nebot
Slide 20
(8)
Kinematic Model of the Utility Car (UTE)
The observation equation relating the vehicle states to the observations is

q
2
2
(xi − xL) + (yi − yL)
zri



 + γh
³
´
z = h (X, xi, yi) =
=
(y
−y
)
atan (xii−xL ) − φL + π/2
zβi
L


(9)
where z is the observation vector, is the coordinates of the landmarks, xL , yL and φL are the vehicle
states defined at the external sensor location and γh the sensor noise.
The complete non-linear model can be expressed in general form as:
X (k + 1) = F (X (k) , u (k) + γu (k)) + γf (k)
(10)
z (k) = h (X (k)) + γh (k)
where γu (k) , γh (k) and γf (k) are white Gaussian noise of the input, process and observation
respectively.
Navigation System Design
Eduardo Nebot
Slide 21
Kinematic Model of the Utility Car (UTE)
The propagation of uncertainties and estimation of states will require the evaluation of the Jacobians
of the process and measurement models.
The Jacobian of the Process model with respect to the state variables is:


1 0 −∆T (vc sin φ + vLc tan α(a cos φ − b sin φ)

∂F

Fx =
=  0 1 ∆T (vc cos φ − vLc tan α(a sin φ − b cos φ)
∂X 
0 0
1




where vc needs to be replaced by:
vc = ¡
Navigation System Design
νe
¢
1 − tan (α) · HL
Eduardo Nebot
(11)
Slide 22
Kinematic Model of the Utility Car (UTE)
The evaluation of the Jacobian with respect to the input require a few additional mathematical steps.
Two cases are presented here:
• Using Steering encoder:
φ̇ =
1
· v1 · β
L
with
β = tan α
• Using Gyro information:
φ̇ = φz
Navigation System Design
Eduardo Nebot
Slide 23
Kinematic Model of the Utility Car (UTE)
The general kinematic model is


v · cos (φ) + φ̇ · ηx (φ)
 1



F v1, φ̇ =  v1 · sin (φ) + φ̇ · ηy (φ) 


φ̇
v2
v1 =
1 − β HL
1
φ̇ = · v1 · β or φ̇ = φz
L
³
´
G (v2, β, φz ) = F v1, φ̇
³
´
with
ηx = −(a sin φ + b cos φ)
ηy = (a cos φ − b sin φ)
Navigation System Design
Eduardo Nebot
Slide 24
Kinematic Model of the Utility Car (UTE)
The general partial derivatives with respect to the three inputs:
∂G ∂F ∂v1 ∂F ∂ φ̇ ∂v1
=
·
+
·
·
∂v2 ∂v1 ∂v2 ∂ φ̇ ∂v1 ∂v2
Ã
!
∂G ∂F ∂v1 ∂F
∂ φ̇ ∂v1 ∂ φ̇
=
·
+
·
·
+
∂β
∂v1 ∂β
∂v1 ∂β ∂β
∂ φ̇
∂G
∂F ∂ φ̇
·
=
∂φz
∂ φ̇ ∂φz
h
iT
∂F
= cos (φ) sin (φ) 0
∂v1
iT
∂F h
= ηx (φ) ηy (φ) 1
∂ φ̇
Navigation System Design
Eduardo Nebot
Slide 25
Kinematic Model of the Utility Car (UTE)
∂G ∂F ∂v1 ∂F ∂ φ̇ ∂v1
=
·
+
·
·
∂v2 ∂v1 ∂v2 ∂ φ̇ ∂v1 ∂v2
Ã
!
∂G ∂F ∂v1 ∂F
∂ φ̇ ∂v1 ∂ φ̇
=
+
·
+
·
·
∂β
∂v1 ∂β
∂v1 ∂β ∂β
∂ φ̇
∂G
∂F ∂ φ̇
=
·
∂φz
∂ φ̇ ∂φz
∂v1
1
=
,
∂v2 1 − β HL
∂v1
v2
H
=¡
·
¢
2
∂β
L
1 − β HL
∂ φ̇
β
∂ φ̇
=
or
=0
∂v1 L
∂v1
∂ φ̇
∂ φ̇ v1
=
or
=0
∂β
L
∂v1
∂ φ̇
∂ φ̇
= 0 or
=1
∂φz
∂φz
Navigation System Design
Eduardo Nebot
Slide 26
Kinematic Model of the Utility Car (UTE)
If the steering angle is used to predict (as the derivative) the orientation then the gradient is
h
∂G
=
∂ (v2, β, φz )
i
∂G
∂v2
∂G
∂β
∂G
∂φz
∂G ∂F ∂v1 ∂F ∂ φ̇ ∂v1
=
·
+
·
·
=
∂v2 ∂v1 ∂v2 ∂ φ̇ ∂v1 ∂v2




cos (φ)
ηx (φ)



 β
∂G 
1
1



=  sin (φ)  ·
+
·
·


η
(φ)
∂v2 
 1 − β HL  y
 L 1 − β HL
0
1
Navigation System Design
Eduardo Nebot
Slide 27
Kinematic Model of the Utility Car (UTE)
∂G ∂F ∂v1 ∂F
=
+
·
·
∂β
∂v1 ∂β
∂ φ̇


Ã
!
∂ φ̇ ∂v1 ∂ φ̇
+
=
·
∂v1 ∂β ∂β


!
Ã
cos (φ)
ηx (φ)




v2
∂G 
v2
H 
β
H v1


=  sin (φ)  · ¡
·
+
·
·
·
+


η
(φ)
¢
¡
¢
∂β 
L 1 − βH 2 L
L
 1 − βH 2 L  y

L
L
0
1


ηx (φ)


∂G
∂F ∂ φ̇


·
=
=  ηy (φ)  · 0 = 0
∂φz

∂ φ̇ ∂φz 
1
Navigation System Design
Eduardo Nebot
Slide 28
If a Gyro is used to predict the change in orientation then the following gradient is used:
h
∂G
=
∂ (v2, β, φz )

i
∂G
∂v2
∂G
∂β
∂G
∂φz

cos (φ)


∂G 
1

=  sin (φ)  ·
∂v2 
 1 − β HL
0


cos (φ)


v2
∂G 
H

=  sin (φ)  · ¡
·
¢
∂β 
 1 − βH 2 L
L
0




ηx (φ)
ηx (φ)




∂G 



=  ηy (φ)  · 1 =  ηy (φ) 
∂φz 



1
1
Navigation System Design
Eduardo Nebot
Slide 29
Kinematic Model of the Utility Car (UTE)
Finally the Jacobian of the observation model with respect to the state variables can be evaluated
with the following equation Then the output Jacobian matrix, evaluated in (xL, yL, ϕ) is

∂ (r, β)
∂H
=
=
∂ (xL, yL, ϕ) ∂ (xL, yL, ϕ)
(xL −xi )
√
d
− (yLd−yi)
(yL −yi )
√
d
(xL −xi )
d

0

−1
d= (xL − xi)2 + (yL − yi)2
These models will be used with a standard EKF algorithms to navigate, build and maintain a
navigation map of the environment.
Navigation System Design
Eduardo Nebot
Slide 30
Beacon Based Navigation
Navigation System Design
Eduardo Nebot
Slide 31
Beacon Based Navigation
In this section, navigation systems employing artificial beacons (or targets) are presented. The
kinematic vehicle model developed in the previous section will be used.
The generally accepted definition of a ‘beacon’, is a target whose position (and perhaps other
parameters) is known to the navigation system.
By observing a beacon whose absolute position is known, the position of the vehicle with respect to
the beacon may be easily computed. Therefore, beacon based navigation systems are perhaps the
easiest to implement.
The drawback, of course, is that infrastructure is usually needed to implement a navigation system of
this type. A form of navigation that overcomes this limitation will be discussed in the SLAM section.
A Brief introduction of the various estimation filtering techniques used is presented.
Navigation System Design
Eduardo Nebot
Slide 32
Linear Kalman Filter Estimator
The Kalman filter is a linear estimator that fuses information obtained from model, observation and
prior knowledge in an optimal manner.
The system we are interested can be modeled by:
x(k) = F (k)x(k − 1) + B(k)u(k) + G(k)v(k)
(12)
where x(k − 1) is the state of the system at time k − 1, u(k) is an input, v(k) is additive noise, B(k)
and G(k) are input and noise transition matrices and F (k) is the transition matrix that allows to
propagate x(k) to x(k + 1), being k the index to denote one incremental step of time.
The observation model have the following form:
z(k) = H(k)x(k) + w(k)
(13)
where z(k) is the observation at time k, H(k) is the observation matrix that relates the states with
the observations and w(k) is additive noise.
Navigation System Design
Eduardo Nebot
Slide 33
Linear Kalman Filter Estimator
It is also assumed that all noises are Gaussian, uncorrelated and zero mean.
E[v(k)] = E[w(k)] = 0
with covariances:
E[v(i)v T (j)] = δij Q(i) , E[w(i)wT (j)] = δij R(i)
The process and observation noises are also assumed uncorrelated:
E[v(i)wT (j)] = 0
Finally it is assumed that we know with a given uncertainty the initial state:
x(0) = x0 , P (0) = P0
where P0 is in general a covariance diagonal Matrix with an initial guess of the uncertainty on the
initial value x0.
Navigation System Design
Eduardo Nebot
Slide 34
Prediction Stage
With the process and observation models F, B, G, H, covariances Q, R and P0 and initial state x0
the following Kalman Filter equations can be applied to recursively estimate the state i two stages:
Prediction and Update
The Prediction stage is responsible for the high frequency information and uses dead reckoning
sensors inputs to drive the process model and generate a prediction of the state x at time k − 1 given
all the information up to time k.
x̂(k/k − 1) = F (k)x̂(k − 1/k − 1) + B(k)u(k)
(14)
The uncertainty of this prediction is also evaluated:
P (k/k − 1) = F (k)P (k − 1/k − 1)F T (k) + G(k)Q(k)GT (k)
Navigation System Design
Eduardo Nebot
(15)
Slide 35
Update Stage
The filter will work in prediction mode until an observation become available. The state x(k) will
then be updated with the observation obtained at time k.
x̂(k/k) = x̂(k/k − 1) + W T (k)(z(k) − H(k)x̂(k/k − 1))
(16)
x̂(k/k) is obtained with the prediction x̂(k/k − 1) plus a correction factor formed by a product of the
Kalman Gain and the difference between the observation and the predicted observation.
Since an observation was included the uncertainty of the state, P (k/k), must decrease:
P (k/k) = P (k/k − 1) − W (k)S(k)W T (k)
Navigation System Design
Eduardo Nebot
(17)
Slide 36
Update Stage
The Kalman gain matrix W (k) and innovation covariance S are given by
W (k) = P (k/k − 1)H T (k)S(k)−1
(18)
S(k) = H(k)P (k/k − 1)H T (k/k − 1) + R(k)
(19)
.
S equation represents the covariance of the innovation sequence:
ν(k) = z(k) − H(k)x(k/k − 1)
Since in most cases the true value of the state is never known the innovation sequence gives an
indication of how well the filter is working. This measure can be obtained by comparing the actual
value of the innovation sequence with the expected variance predicted by S(k). This approach will be
used to validate the data before incorporating the observation and for data association purposes.
Navigation System Design
Eduardo Nebot
Slide 37
The Extended Kalman Filter
In most real cases the process and/or observation models do not behave linearly and hence the linear
Kalman filter can not be used.
The Extended Kalman filter (EKF) was developed for non-linear systems and provides the best
MMSE of the estimate. In principle it is a linear estimator which linearises the process and
observation models about the current estimated state.
The non-linear discrete time system is described as
x(k) = F(x(k − 1), u(k), k) + w(k),
(20)
where F(·, ·, k) is a non-linear state transition function at time k which forms the current state from
the previous state and the current control input.
The non-linear observation model is represented as
z(k) = H(x(k)) + v(k).
Navigation System Design
Eduardo Nebot
(21)
Slide 38
Prediction Stage
The state is predicted with the non-linear process model
x̂(k|k − 1) = F(x̂(k − 1|k − 1), u(k)),
(22)
and the predicted covariance matrix is
P(k|k − 1) = ∇Fx(k)P(k − 1|k − 1)∇FTx (k) + Q(k).
(23)
The term ∇Fx(k) is the Jacobian of the current non-linear state transition matrix F(k) with respect
to the predicted state x(k|k − 1).
Navigation System Design
Eduardo Nebot
Slide 39
Update Stage
When an observation occurs, the state vector is updated according to
x̂(k|k) = x̂(k|k − 1) + W(k)ν(k)
(24)
where ν(k) is the nonlinear innovation,
ν(k) = z(k) − H(x̂(k|k − 1)).
(25)
The gain and innovation covariance matrices are
W(k) = P(k|k − 1)∇HTx (k)S−1(k),
(26)
S(k) = ∇Hx(k)P(k|k − 1)∇HTx (k) + R(k),
(27)
where the term ∇Hx(k) is the Jacobian of the current observation model with respect to the
estimated state x(k|k).
The updated covariance matrix is
P(k|k) = (I − W(k)∇Hx(k))P(k|k − 1)(I − W(k)∇Hx(k))T +
W(k)R(k)W(k).
Navigation System Design
Eduardo Nebot
(28)
Slide 40
The Information Filter
The information filter is mathematically equivalent to the Kalman filter. The key components in the
information filter are the information matrix Y(k|k), and the information vector ŷ(k|k).
Assuming that the noise is Gaussian then Y(k|k) is the inverse of the covariance matrix,
Y(k|k) = P−1(k|k),
(29)
and hence represents the amount of information in the states of interest and their correlations. The
information vector relates to the states through:
ŷ(k|k) = Y(k|k)x̂(k|k).
(30)
The predicted information vector is
ŷ(k|k − 1) = L(k|k − 1)ŷ(k − 1|k − 1) + B(k)u(k),
where L(k|k − 1) = Y(k − 1|k − 1)F(k)Y−1(k − 1|k − 1).
The transformation matrix B(k) transforms the control input u(k) to information space.
Navigation System Design
Eduardo Nebot
Slide 41
(31)
The Information Filter
The corresponding predicted information matrix is
Y(k|k − 1) = [F(k)Y−1(k − 1|k − 1)FT (k) + Q(k)]−1.
(32)
The information contribution to the states due to an observation is:
i(k) = HT (k)R−1(k)z(k).
(33)
The amount of certainty associated with this observation is:
I(k) = HT (k)R−1(k)H(k)
(34)
The benefit of the information filter lies in the update stage. Since the observation has been
transformed over to information space, the update procedure is simply the information contribution
of this observation to the prediction,
Navigation System Design
ŷ(k|k) = ŷ(k|k − 1) + i(k)
(35)
Y(k|k) = Y(k|k − 1) + I(k).
(36)
Eduardo Nebot
Slide 42
The Information Filter
If there is more than one sensor providing observations:
ŷ(k|k) = ŷ(k|k − 1) +
X
ij (k)
X
Y(k|k) = Y(k|k − 1) +
Ij (k).
(37)
(38)
Advantages associated with the Information filter:
• No innovation covariance matrix S(k) has to be computed;
• Furthermore, there is no gain matrix W(k) which needs to be computed;
• The initial information matrix can be easily initialised to zero information;
• It is computationally easier to implement an information filter in a multisensor environment since
it is simply the summation of the individual information contributions.
Disadvantages associated with the Information filter:
• Not appropriate when working with large number of states and few sensors.
• State has to be reconstructed if needed
Navigation System Design
Eduardo Nebot
Slide 43
The Extended Information Filter
The extended information filter (EIF) estimates the states of interest given non-linear process and/or
observation models in information space.
The predicted information vector and matrix is
ŷ(k|k − 1) = Y(k − 1|k − 1)F(x̂(k − 1|k − 1), u(k)),
(39)
Y(k|k − 1) = [∇Fx(k)Y−1(k − 1|k − 1)∇FTx (k) + Q(k)]−1.
(40)
When an observation occurs, the information contribution and its associated information matrix is
i(k) = ∇HTx (k)R−1(k)[ν(k) + ∇Hx(k)x̂(k|k − 1)],
(41)
I(k) = ∇HTx (k)R−1(k)∇Hx(k),
(42)
where the innovation is
ν(k) = z(k) − H(x̂(k|k − 1)).
(43)
Although the non-trivial derivation of the Jacobians still occurs in this form, the EIF has the benefit
of being easily initialised, that is, one can set the initial conditions to zero information. Furthermore,
there is the added benefit of decentralising the filter across multiple nodes and the incorporation of
multiple observations to a single filter
Navigation System Design
Eduardo Nebot
Slide 44
Implementation Example of Beacon Based Navigation
Navigation System Design
Eduardo Nebot
Slide 45
Sensors Used for Beacon Based Navigation
The sensors used in beacon based navigation systems typically fall into two distinct categories:
• bearing only sensors: return the bearing and/or azimuth to a given beacon. Some laser
systems employ this principle. Single cameras also fall into this category.
Figure 7: Bearing Laser, range and bearing radar and laser
• range and bearing sensors: return Range and bearing. Most common type include sonar,
laser, radar, and stereo vision.
In general the beacons in the environment will be clearly differentiated from the background but will
not report its identity. The system will have a list with the location of all the beacons will determine
which is the feature the sensor has detected. This process is called data association and will be
obviously more difficult and less reliable with bearing only sensors.
Navigation System Design
Eduardo Nebot
Slide 46
Land Vehicle Application: Basic Modeling
Navigation System Design
Eduardo Nebot
Slide 47
State Transition (Prediction) Equations
The discretised vehicle model (state transition equation) used to predict the next state of the system
is ;
x(k) = x(k − 1) + ∆T V (k − 1) cos(φ(k − 1) + γ(k − 1))
y(k) = y(k − 1) + ∆T V (k − 1) sin(φ(k − 1) + γ(k − 1))
V (k − 1) sin(γ(k − 1))
φ(k) = φ(k − 1) + ∆T
(44)
B
Assume that the kinematic assumptions (rigid body, rolling motion) hold true. When this is the case,
the only source of process noise is injected via the control inputs; steer angle, and wheel velocity such
that these parameter may be modelled as:
ω(t) = ω(t) + δω(t)
γ(t) = γ(t) + δγ(t)
where δω(t) and δγ(t) are Gaussian, uncorrelated, zero mean random noise processes with variances
σω2 and σγ2 respectively.
Navigation System Design
Eduardo Nebot
Slide 48
State Transition (Prediction) Equations
The discrete time state vector at time k + 1 can now be defined as
x(k + 1) = f (x(k), u(k), k) + v(k)
(45)
= [x(k + 1), y(k + 1), φ(k + 1)]T
where
u(k) = [ω(k), γ(k)]T
is the control vector at time k, v(k) is additive process noise representing the uncertainty in slip
angles and wheel radius, and f (·) is the nonlinear state transition function mapping the previous
state and current control inputs to the current state.
Navigation System Design
Eduardo Nebot
Slide 49
State Transition (Prediction) Equations
Assume the system has an estimate available at time k which is equal to the conditional mean
x̂(k|k) = E[x(k)|Zk ]
(46)
The prediction x̂(k + 1|k) for the state at time k + 1 based on information up to time k is given by
expanding Equation 45 as a Taylor series about the estimate x̂(k|k), eliminating second and higher
order terms, and taking expectations conditioned on the first k observations, giving
x̂(k + 1|k) = E[x(k + 1)|Zk ] = f (x(k|k), u(k), k)
(47)
The vector state prediction function f (·) is defined assuming zero process and control noise.
The prediction of state is therefore obtained by simply substituting the previous state and current
control inputs into the state transition equation with no noise.
Navigation System Design
Eduardo Nebot
Slide 50
Covariance Transition (Prediction) Equations
The noise source vector can be written as follow
δw(k) = [δω(k), δγ(k)]T
The error between the true state and the estimated state is given by
δx(k|k) = x(k) − x̂(k|k)
(48)
the prediction of covariance is then obtained as
P(k + 1|k) = E[δx(k|k)δx(k|k)T |zk ]
(49)
= ∇fx(k)P(k|k)∇fxT (k) + ∇fw (k)Σ(k)∇fwT (k)
Navigation System Design
Eduardo Nebot
(50)
Slide 51
Covariance Transition (Prediction) Equations
∇fx(k) represents the gradient or Jacobian of f (·) evaluated at time k with respect to the states,
∇fw (k) is the Jacobian of f (·) with respect to the noise sources, and Σ(k) is the noise strength
matrix given by


Σ(k) = 
σω2 0
0

(51)
σγ2


1 0 ∆T V sin(φ(k|k) + γ(k))




∇fx(k) =  0 1 ∆T V cos(φ(k|k) + γ(k)) 


0 0 1
and

(52)

∆T cos(φ(k|k) + γ(k)) −∆T V sin(φ(k|k) + γ(k))




∇fw (k) =  ∆T sin(φ(k|k) + γ(k)) ∆T V cos(φ(k|k) + γ(k)) 


∆T sin(γ(k))
B
(53)
∆T V cos(γ(k))
B
For the UTE model the reader needs to select the type of information used to determine the change of
bearing, steering encoder or Gyro, and then select the appropriate equation to evaluate the Jacobian.
Navigation System Design
Eduardo Nebot
Slide 52
Bearing Only Navigation
Navigation System Design
Eduardo Nebot
Slide 53
Sensor Prediction Equations
Assume that the vehicle has a laser sensor attached such that the bearing to a number of fixed
beacons Bi = [Xi, Yi], i = 1, . . . , n can be obtained.
This laser provides a nonlinear observation which may be considered to be of the form
z(t) = h(x(t)) + v(t)
(54)
The bearing to a beacon is given by arctan( XYii−y(t)
−x(t) ). However the platform is oriented in the direction
φ, so for this system, the measurement equation for each beacon detected by the laser is given by the
model
·
µ
¶
¸
£ i ¤
Y
−
y(t)
i
i
zθ (t) = arctan
− φ(t) + vθ (t)
Xi − x(t)
(55)
where the laser observation noise vθi , is uncorrelated zero mean and Gaussian with strength σθ2, and
is assumed to be identical for each beacon observed.
Navigation System Design
Eduardo Nebot
Slide 54
Sensor Prediction Equations
The predicted observation is found by taking expectations conditioned on all previous observations,
truncating at first order to give
ẑ(k + 1|k) = E[z(k + 1)|Zk ]
(56)
= h(x̂(k + 1|k))
If there is a predicted state for the vehicle, x̂(k + 1|k), we can therefore predict the observations that
will be made at that state. From Equation 55 and from Equation 56, we have the predicted
observations as
¶
¸
·
µ
£ i
¤
Yi − ŷ(k + 1|k)
− φ̂(k + 1|k)
z(k + 1|k) = ẑθ (k + 1|k) = arctan
Xi − x̂(k + 1|k)
Navigation System Design
Eduardo Nebot
Slide 55
(57)
Sensor Prediction Equations
Now, the innovation or observation prediction error covariance S(k), used in the calculation of the
Kalman gains must be computed. This is found by squaring the estimated observation error and
taking expectations of the first k measurements to give the following,
S(k + 1) = ∇hx(k + 1)P(k + 1|k)∇hTx (k + 1) + R(k + 1)
(58)
In this case, the Jacobian ∇hx(k + 1) is given by
h
i
ŷ(k+1|k)−Yi x̂(k+1|k)−Xi
∇hx(k + 1) = −
(59)
−1
d2
d2
p
where d = (Xi − x̂(k + 1|k))2 + (Yi − ŷ(k + 1|k))2 is the predicted distance between a beacon and
the vehicle.
The observation variance term R(k) is given by
£ 2¤
R(k) = σθ
Navigation System Design
Eduardo Nebot
(60)
Slide 56
Sensor Prediction Equations
The state update equations for the EKF are given by
x̂(k + 1|k + 1) = x̂(k + 1|k) + K(k + 1)[z(k + 1) − h(x̂(k + 1|k))]
(61)
where K(k), S(k) and h(k) are:
K(k + 1) = P(k + 1|k)∇hTx (k + 1)S(k + 1)−1
(62)
S(k + 1) = ∇hx(k + 1)P(k + 1|k)∇hTx (k + 1) + R(k + 1)
(63)
h
∇hx(k + 1) =
Navigation System Design
i
− ŷ(k+1|k)−Y
d2
Eduardo Nebot
x̂(k+1|k)−Xi
d2
i
(64)
−1
Slide 57
Range and Bearing Navigation
Navigation System Design
Eduardo Nebot
Slide 58
Range-Bearing Navigation
The implementation aspect of a range–bearing beacon based navigation system is very similar to the
bearing only system presented before.
The only major difference is in the derivation of the sensor model. The sensor still observes a number
of fixed beacons, however it now also returns the range to these beacons.
The prediction equations for such a sensor can be derived as


ẑir (k + 1|k)
p

(Xi − x̂(k + 1|k)2 + (Yi − ŷ(k + 1|k))2
=

³
´
z(k + 1|k) = 
Y
−ŷ(k+1|k)
arctan Xii−x̂(k+1|k) − φ̂(k + 1|k)
ẑiθ (k + 1|k)
where zir is the range measurement returned by the sensor when observing the i’th beacon.
Navigation System Design
Eduardo Nebot
Slide 59
(65)
Range-Bearing Navigation
The Jacobian ∇hx(k + 1) is given by

∇hx(k + 1) = 
where d =
p
x̂(k+1|k)−Xi
d
i
− ŷ(k+1|k)−Y
2
d
ŷ(k+1|k)−Yi
d
x̂(k+1|k)−Xi
d2

0

(66)
−1
(Xi − x̂(k + 1|k))2 + (Yi − ŷ(k + 1|k))2 is (as before), the predicted distance between
the i’th beacon and the vehicle.
The observation variance term R(k) is given by

R(k) = 

σr2
0
0
σθ2

(67)
where σr2 is the variance associated with the range measurement. As before it is assumed that the
sensor is corrupted by Gaussian, zero-mean, uncorrelated measurement noise.
The state and covariance prediction, and update steps are identical to those in bearing only
algorithm. The advantages of including range will be discussed in the discussion session.
Navigation System Design
Eduardo Nebot
Slide 60
Data Association
Navigation System Design
Eduardo Nebot
Slide 61
Data Association
This is a fundamental problem in beacon navigation: We have a list of beacons with position
information but when a beacon is sensed we have the following question:
What is the identity of this beacon ?
Solution:
• Use beacons that are not identical. A common method for achieving this in bearing only
navigation is to use bar codes for uniquely identifying targets (Pasive barcodes ). In some cases the
beacon broadcast their identity (Active beacons).
• Use statistics to determine how likely a given beacon is the one that was sensed.
The fist method makes the association very simple but it can become limited with respect to the
number of beacons possible or expensive to be used in large areas.
The second method can use an unlimited number identical pasive beacons (reflective tape) but will
make the data association more complex.
This section will discuss basic data association algorithm based on statistical methods.
Navigation System Design
Eduardo Nebot
Slide 62
Data Association: The basic idea
Possible area
for a beacon
BEARING
ONLY
Vehicle
Navigation System Design
Possible area
for a beacon
RANGE
BEARING
Vehicle
Eduardo Nebot
Slide 63
Data Association
Methods to perform data association:
• Gate Validation: Associate only if there is one possible hypothesis
• Nearest Neighbour: Select the nearest state to the observation
• Multi Hypothesis Tracking: Use all the possible hypothesis
• Batch / delay data association
Navigation System Design
Eduardo Nebot
Slide 64
Data Association
A few methods are based on testing the innovation sequence. The innovation (ν) for a navigation
filter is defined as the difference between the observed and predicted observations as
ν(k) = z(k) − H(k)x̂(k/k − 1)
(68)
The innovation mean can be found as
£
¤
£
¤
k−1
k−1
E ν(k)|Z
= E z(k) − ẑ(k|k − 1)|Z
¤
£
= E z(k)|Zk−1 − ẑ(k|k − 1)
= 0
(69)
with variance
£
¤
T
S(k) = E ν(k)ν (k)
£
¤
= E (z(k) − H(k)x̂(k|k − 1))(z(k) − H(k)x̂(k|k − 1))T
£
¤
= E (H(k) [x(k) − x̂(k|k − 1)] + v(k))(H(k) [x(k) − x̂(k|k − 1)] + v(k))T
= R(k) + H(k)P(k|k − 1)HT (k)
(70)
The innovation sequence is white with zero mean and variance S(k).
Navigation System Design
Eduardo Nebot
Slide 65
Data Association
The properties of the innovation sequence can be exploited to determine how likely a beacon is to
being the current observation.
The normalised innovations squared q(k) are defined as
q(k) = ν T (k)S−1(k)ν(k)
(71)
which under the assumption that the filter is consistent can be shown to be a χ2 random
distribution with m degrees of freedom, where m = dim(z(k)), the dimension of the measurement
sequence.
For gating observations, q is simply formed (usually for each beacon Bi), a threshold is chosen from
χ2 tables (given a confidence value, 95% or 99% for example), and then q compared to the threshold.
If the value of q for a given beacon is less than the threshold, then that beacon is likely to have been
the one observed.
Navigation System Design
Eduardo Nebot
Slide 66
Data Association: Beacon Rejection
Depending on the geometry of the beacons, it is sometimes possible for multiple beacons to (quite
validly) match an observation. ( More often with bearing only sensors ! )
In these cases, it is safer to ignore the observation than trying to guess which beacon was observed.
This is very important since the incorporation of a wrong beacon will most likely generate a
catastrophic fault in the filter.
That is the filter will not be able to match any more beacons univocally since the vehicle will be in
another position and the state covariance error will grow indefinitely.
Possible area
for a beacon
BEARING
ONLY
Vehicle
Navigation System Design
Possible area
for a beacon
RANGE
BEARING
Vehicle
Eduardo Nebot
Slide 67
Filter Implementation
Any real localization application will have dead reckoning sensors that will provide high frequency
information at fixed intervals and external sensors that will provide low frequency information not
necessarily at a prefix interval.
An example of the dead reckoning sensors are velocity and steering encoders that are sampled at
given intervals. External sensors usually monitor the environment and eventually report information
when a possible beacon is detected.
In general we have various prediction cycles for each external information.
The external information will not in most cases happen at the predictions time. Furthermore, the
external information will be present in some cases with a significant delay due to the processing
necessary to extract the possible features or the validation process.
Navigation System Design
Eduardo Nebot
Slide 68
Filter Implementation
One example of asynchronous processing is shown in the Figure. In this case the system perform
predictions 1, 2 and 3. At time 3 an observation becomes available with time stamp somewhere
between 2 and 3.
The right procedure to incorporate this information is to save the previous states at 2 and make a
new prediction up to the observation time. At this time perform an update and then a prediction to
time 3 again.
Update
Pred 4
Pred5
Observation
Prediction 1
Prediction 2
Prediction 3
Figure 8: Asynchronous Prediction Update Cycle
This process will require the filter to save few previous states in accordance with the maximum delay
expected in the external information.
Navigation System Design
Eduardo Nebot
Slide 69
Filter Implementation
Observation Available
Prediction/Update/Prediction cycle
No Observation Available
Prediction cycle
Prediction
Prediction
observation
prediction
prediction
Estimation
Time
k-1
(k_obs)
observation time stamp
k
k+1
sampling time
Figure 9: Asynchronous Prediction Update Cycle
Navigation System Design
Eduardo Nebot
Slide 70
The Global Positioning System (GPS)
Navigation System Design
Eduardo Nebot
Slide 71
The Global Positioning System (GPS)
The Global Positioning System is an all-weather and continuous signal system designed to provide
information to evaluate accurate position worldwide.
GPS receivers observe time delays and process messages from several in line of sight satellites to
determine accurate receiver antenna position.
The GPS system achieved initial operation capabilities on 8 December 1993.
It consist of 3 major segments:
• Space Segment
• Control Segment
• User Segment
Navigation System Design
Eduardo Nebot
Slide 72
Space Segment
The GPS operational constellation consists of 24 satellites that orbit the earth with a period of 12
hours. There are 6 different orbital planes with 55 degrees inclination. Each plane has a radius of
20200 km and the path is followed by 4 satellites.
This distribution assures that at least four satellites are always in view anywhere around the world an
eight satellites 80% of the time.
Navigation System Design
Eduardo Nebot
Slide 73
Control Segment
This segment consist of a system of tracking stations distributed around the world.
The main objective is to determine the position of the satellites to update their ephemeris. Satellite
clock correction are also updated.
GPS Control
Segment
Ground Antenna ( 4 )
Navigation System Design
Master Station
( 1 + Backup )
Eduardo Nebot
Remote Monitoring
Station ( 5 )
Slide 74
User Segment
The user segment consists of the GPS receivers that use the GPS signal information. The GPS
receivers are passive, so the system can provide service to an unlimited number of users.
The only requirement is that the satellite need to be in the line of sight of the antenna: The GPS will
not work underground or inside buildings.
Navigation System Design
Eduardo Nebot
Slide 75
GPS Operation Overview
The satellites transmit information at frequencies L1=1575.42 Mhz and L2=1227.6 Mhz as shown in
the Figure.
The C/A code is a repeating 1 Mhz pseudo random binary sequence. There is a separate C/A code
for each satellite in operation. The code is used by the receiver to identify the satellite and to obtain
range information. Each GPS receiver has a correlator and the PRBS for all 31 possible satellites.
Navigation System Design
Eduardo Nebot
Slide 76
GPS Operation Overview
The GPS signal is modulated with a pseudo random C/A and P codes and with a 50 BPS navigation
message as shown.
Fundamental
Frequency
10.23 MHZ
x 154
x 120
X / 10
L1
1575.43 MHZ
C/A Code
1023 MHz
L2
1227.60 MHZ
50 BPS
P-Code
10.23 MHZ
P-Code
10.23 MHZ
Navigation Message
Each time it receives a signal from a satellite the reeceiver starts to correlate the received PRBS with
each of the sequences stored on board. This task is achieved by shifting receiver own sequence from
an estimated time t0 until a peak in the correlation is achieved. This peak identifies the satellite
number and the shift with respect to time indicates the distance to the satellite.
Navigation System Design
Eduardo Nebot
Slide 77
GPS Operation Overview
The navigation message is present in both the L1 and L2 frequencies. It contains information about
the precise satellite ephemeris, clock correction parameters, and low precision ephemeris data for the
other satellites.
After 30 seconds of continuous satellite tracking the GPS receiver is able to use the tracked
satellite for position determination. After approximately 12.5 minutes of uninterrupted tracking of
a given satellite the low precision ephimeris for the whole satellite constellation is downloaded. This
is called almanaque and is used by the receiver during startup to reduce the time to fix position.
The Precision Positioning System (PPS) is provided by the P code included in the L2 signal. This
code is only available to authorised users and has a period of 7 days.
The Standard Positioning System (SPS) is based on the C/A code that is included in both
frequencies. The accuracy of SPS is 100 m (2drms), 156 m vertical (95%) and 340 ns (95 %), with
Selective Availability (SA). 10 meters without SA. The accuracy of the PPS system is 22m
horizontal (2drms) 27.7 m vertical (95%), and 200 ns (95%) time.
Navigation System Design
Eduardo Nebot
Slide 78
GPS observables
Two types of observations are of main interest:
• Pseudo-range: distance from the satellite to the vehicle plus additional errors due to clock
drifts, the ionosphere, the troposphere, multi-path and Selective Availability, (SA)
• Doppler frequency information: As the vehicle and the satellites are in constant motion with
respect to each other the receiver signal will experience a change in frequency proportional to their
relative velocities. It can be used to generate very accurate velocity estimation
Not all GPS receiver generate velocity from Doppler observation. This make velocity information
independent of position. (Important for data fusion)
The precision of the solution is affected by two main factors:
• PDOP (position dilution of precision)
• Precision in range determination
Navigation System Design
Eduardo Nebot
Slide 79
Position Determination
The basic principle behind GPS position is shown in the Figure
Figure 10: Basic GPS principle
Navigation System Design
Eduardo Nebot
Slide 80
Position Determination
Possible position of a vehicle when receiving the signal from 1, 2 and 3 GPS respectively. The
position is univocally determined when ranges to at least 3 satellites are available.
The system uses 4 satellites to solve for the other unknown that is time to synchronize receiver and
satellite clocks. This enable the receivers to be built with inexpensive clocks while the satellites have
very accurate atomic clocks.
Navigation System Design
Eduardo Nebot
Slide 81
Position Determination
With ephimeris and ranges from 4 satellites the set of non-linear equations presented in Equation 72
can be solved. This equation is function of the known ranges and satellite position and unknown
position of the GPS receiver and clock drift.
r1 =
r2 =
r3 =
r4 =
p
p
p
p
(x − x1)2 + (y − y1)2 + (z − z1)2 + c∆t
(x − x2)2 + (y − y2)2 + (z − z2)2 + c∆t
)2
)2
(72)
)2
(x − x3 + (y − y3 + (z − z3 + c∆t
(x − x4)2 + (y − y4)2 + (z − z4)2 + c∆t
GPS receivers usually linearize these equations and evaluate the position by solving a linear set of
equations or by implementing a least square solution for the case where redundant information is
available
Navigation System Design
Eduardo Nebot
Slide 82
Linearisation to obtain position







r (p)
r (p )
x − x0
ε
 1
  1 0 

  x

 


 
 r2(p)   r2(p0) 
 y − y0   εy

=
 + A
+

 


 
 r3(p)   r3(p0) 
 z − z0   εz

 


 
r4(p)
r4(p0)
c∆t
εclock


x−x1 y−y1 z−z1
1
 δSi δSi δSi

 x−x1 y−y1 z−z1 
 δ

δSi
δSi 1 
Si
A=
 x−x1 y−y1 z−z1 
 δ
1
 Si δSi δSi

x−x1 y−y1 z−z1
1
δ
δ
δ
Si
and δSi
δSi =
p
Si








(73)
(74)
Si
(x − x1)2 + (y − y1)2 + (z − z1)2
(75)
Where p = [x, y, z, c∆t]T and ε are the errors due to range noise and missing higher order terms in
the linearization.
Navigation System Design
Eduardo Nebot
Slide 83
Position Determination
With this approximation the change in position can then be evaluated
∆p = A−1∆r
(76)
When ranges from more than four satellites are available a least square solution can be implemented:
∆p = (AT A)−1AT ∆r
(77)
Finally the previous position is updated with the correction to obtain the position of the rover at he
time stamp of the pseudo-range information:
p = p0 + ∆p
(78)
The psedudorange is obtained by the GPS hardware through a correlation process and the position of
the satellites needs to be computed using the precise satellite ephimeries broadcast as part of the
navigation message by each satellite.
Navigation System Design
Eduardo Nebot
Slide 84
Most Common GPS errors
Satellite Clock Errors: The GPS system ultimately depends on the accuracy of the satellite
clock. The ground stations are responsible for estimating the clock errors.
These stations do not correct the clock but upload the parameters for the correction formula that the
satellite broadcast as part of the navigation message.
Each GPS receiver needs to compensate the pseudorange information with a polynomial equation
function of these parameters.
Ephemeris Errors: These errors result from the satellite transmitting the ephimeris parameter
with errors. This will translate in errors in the prediction of the position of the satellite that will
generate an incorrect position fix of the GPS receiver.
These errors grow with time since the last update performed by the ground stations. The GPS
receiver usually do not use satellites with ephemeries older than 2 hours.
Navigation System Design
Eduardo Nebot
Slide 85
Most Common GPS errors
Ionosphere Errors Since there are free electron in the Ionosphere, the GPS signal does not travel
at the speed of light while in transit in this region.
The user can compensate for these errors using a diurnal model for these delays. The parameters of
this model are part of the GPS navigation message.
The error obtained after this compensation is in the order of 2-5 m. Another compensation method
uses the signals at both frequencies, L1 and L2 to solve for the delay. This method can reduce the
errors to 1-2 m.
Troposphere Errors Another delay is introduced by the variation of the speed of the signal due to
variation in temperature, pressure and humidity.
Model correction can reduce this error to the order of 1 meter.
Navigation System Design
Eduardo Nebot
Slide 86
Most Common GPS errors
Receiver Errors This is the error introduced by the GPS receiver when evaluating the range
though the correlation process. It is mostly dependent on non-linear effects and thermal noise.
The magnitude of this error is in the order of 0.2-0.5 m.
Multipath errors The range information is evaluated measuring the travel time of the signal from
the satellite to the rover.
Sometimes this path may be obstructed but the signal will still reach the rover antenna through an
indirect path by multiple reflections. The receiver will obtain erroneous range and phase carrier
difference information and an incorrect position fix will be generated.
The multi-path problem can be reduced with an appropriate selection of the antenna, GPS receiver,
and accepting observations only from satellites with a minimum elevation angle.
Navigation System Design
Eduardo Nebot
Slide 87
Most Common GPS errors
Selected Availability Selective Availability (SA) is a deliberate error introduced by the US
Department of Defense and consists of additional noise included in the transmitted satellite clock and
satellite ephemeris. SA has been disconnected since May 2000 and it is not the intent of the US to
ever use SA again on the civil GPS signal.
The Figure shows the longitude and latitude error in meters obtained with a standard GPS with SA.
This is a very low frequency error !!!
longitude error
100
meters
50
0
-50
-100
0
1000
2000
3000
4000
5000
6000
7000
8000
5000
6000
Time in sec.
7000
8000
latitude error
100
meters
0
-100
-200
0
1000
2000
3000
4000
Figure 11: Latitude and Longitude errors due to SA
Navigation System Design
Eduardo Nebot
Slide 88
Most Common GPS errors
Geometric Dilution of Precision The quality of the solution of the position and clock bias error
in relation with the error in the pseudorange measurement is a function of the matrix A, Equation 76.
Assuming that the standard deviation for the pseudorange observation is σ, the matrix covariance for
the state p, Equation 78, is given by:
−1
P = (AT A) σ 2 = Hσ 2
(79)
From this equation the various definition of estimation accuracy are defined:
p
V DOP = H33
p
HDOP = (H11) + (H22)
p
P DOP = (H11 + H22 + H33)
p
GDOP = (H11 + H22 + H33 + H44)
Navigation System Design
Eduardo Nebot
(80)
(81)
(82)
(83)
Slide 89
Most Common GPS errors
The estimated error of the individual component of the state vector p can be given as function of the
DOP variables
p
var(z) = σV DOP
(84)
p
var(x) + var(y) = σHDOP
(85)
p
var(x) + var(y) + var(z) = σP DOP
(86)
p
var(x) + var(y) + var(z) + var(c∆t) = σGDOP
(87)
Most GPS receivers evaluate these uncertainties in real time allowing the user to monitor the
accuracy of the solution.
This is important in real time application of stand alone GPS or when integration with INS is used.
In some cases the GPS may be able to report a solution but due to the geometrical configuration of
the satellites in view the accuracy of the solution can be very poor.
Navigation System Design
Eduardo Nebot
Slide 90
Fundamentals of DGPS (Differential GPS)
The errors in range determination can be significantly reduced with the use of another station placed
at a known surveyed location. The base station can evaluate the range errors and broadcast them to
the the other stations
The base station is usually placed in a location with good sky visibility. It processes information from
satellites with at least 5 degrees over the horizon to avoid multipath problems. This implementation
is called differential GPS (DGPS)
Navigation System Design
Eduardo Nebot
Slide 91
Fundamentals of DGPS (Differential GPS)
DGPS significantly reduces the errors due to delays in the Troposphere and Ionosphere.
It eliminates almost all the errors due to SA ( satellite ephimeris and clock dither )
DGPS was of fundamental importance with SA on. The positioning errors were reduced from
approximate 100 meters to under a few metres.
Without SA the reduction is not that important, specially for low quality DGPS.
The prediction of the magnitude of the errors for different type of GPS (SPS/PPS/DGPS with and
without SA implementation is presented in the following tables
Navigation System Design
Eduardo Nebot
Slide 92
Standard Errors ( metres ) - L1 C/a. Without SA
Error Source
Bias Random Total DGPS
Ephemeris
2.1
0
2.1
0
Satellite Clock
1
0.7
2.1
0
Ionosphere
4
0.5
4
0.4
Troposphere
0.5
0.5
0.7
0.2
Multipath
1
1
1.4
1.4
Receiver measurement
0.5
0.2
0.5
0.5
User Equiv Range Error
5.1
1.4
5.3
1.6
Vertical 1 σ error VDOP
12.8
3.9
Horizontal 1 σ error HDOP 2.0
10.2
3.1
Navigation System Design
Eduardo Nebot
Slide 93
Standard Errors ( metres ) - L1 C/a. With SA
Error Source
Bias Random Total DGPS
Ephemeris
2.1
0
2.1
0
Satellite Clock
20
0.7
20
0
Ionosphere
4
0.5
4
0.4
Troposphere
0.5
0.5
0.7
0.2
Multipath
1
1
1.4
1.4
Receiver measurement
0.5
0.2
0.5
0.5
User Equiv Range Error
20.5
1.4
20.6
1.6
Vertical 1 σ error VDOP
51.4
3.9
Horizontal 1 σ error HDOP 2.0
41.1
3.1
Navigation System Design
Eduardo Nebot
Slide 94
Standard Errors ( metres ) - PPS Dual Frequency P/Y Code
Error Source
Bias Random Total DGPS
Ephemeris
2.1
0
2.1
0
Satellite Clock
2.0
0.7
2.1
0
Ionosphere
1.0
0.5
1.2
0.1
Troposphere
1.0
1.0
1.4
1.4
Multipath
1
1
1.4
1.4
Receiver measurement
0.5
0.2
0.5
0.5
User Equiv Range Error
3.3
1.5
3.6
1.5
Vertical 1 σ error VDOP
8.6
3.7
Horizontal 1 σ error HDOP 2.0
6.6
3.0
Navigation System Design
Eduardo Nebot
Slide 95
Comparison of the errors between GPS and DGPS without SA
Experimental errors obtained from a 24 hour data set logged with a standard stand-alone GPS
receiver. It can be seen that the magnitude of the errors are smaller than the predicted values.
Confidence Hor. GPS Hor DGPS Vert GPS Vert DGPS
50%
2.5
1.6
5.6
1.8
68.27%
3.8
2.2
7.4
2.7
95.45%
7
4.2
14.4
6.4
99.7%
9.8
6.7
21.3
12.0
Navigation System Design
Eduardo Nebot
Slide 96
Phase carrier GPS
The more complex GPS receivers make use of phase carrier information to improve the accuracy of
the position fix.
Differential carrier phase tracking consists of measuring the phase shift between the
same signal received at the base and the rover stations. This phase shift is proportional to
the distance between these two stations.
Much more complicated hardware and software algorithms are needed for this
implementation since these measurements are subject to phase ambiguities, that is uncertainty on
the number of whole carrier waves between the receiver and the satellite.
Algorithm convergence is a vital factor in achieving the accuracy of the carrier phase measurements.
The resolution of the integer ambiguity plays a very important role in the solution of the baseline
vector.
Navigation System Design
Eduardo Nebot
Slide 97
Phase carrier GPS
When the receiver unit is switched on and commences logging the initial whole cycle difference
(ambiguity), between the satellite and the receiver is unknown.
Once the state of the ambiguity is held fixed, the receiver is said to have ”converged” and the
ambiguity is resolved. Once the ambiguities are said to have converged, each corresponding satellite
signal ambiguity, N, is held constant and the change in phase, ∆ψ, is used to calculate the change in
the receiver’s position
Navigation System Design
Eduardo Nebot
Slide 98
Convergence Time for Phase carrier GPS
In any navigation application it is expected that in many occasions the number of satellites in view
will not be enough to obtain a carrier phase solution.
The system will then be restarted and the ambiguities will need to be resolved again. During the
convergence period the accuracy is considerably degraded.
The convergence time depends on a number of different factors, including the baseline,
number of visible satellites, satellite configuration, the method of ambiguity
resolution: i.e. single frequency, dual frequency or combined dual frequency and code
pseudorange data.
Navigation System Design
Eduardo Nebot
Slide 99
Method for Ambiguity Resolution
This section presents experimental data obtained with a GPS receiver manufactured by Novotel
working with two different algorithms
• RT20: 20 cm accuracy using L1 Frequency
• RT2: 2 cm accuracy both the L1 and the L2 frequencies.
The Figure shows the comparison for steady state (RT20 and RT2) and different baselines for RT2
only.
Standard Deviation
Standard Deviation
1.8
1.2
1.6
1.4
1.2
0.8
Std Dev (m)
Dev (m)
1
Std
0.6
RT20
0.4
1
0.8
Baseline Approx. 1 km
0.6
Baseline Approx. 100 m
0.4
0.2
RT2
0.2
0
0
50
100
150
200
250
300
50
Time (sec)
Navigation System Design
100
150
200
250
300
350
Time (sec)
Eduardo Nebot
Slide 100
Other factors that influence the convergence
Visible Satellites Not only does the number of visible satellites influence the accuracy of the
generated position, but also, in the case of phase measurements, influences the resolution of the signal
ambiguities. ( make the solution of the ambiguities faster)
Baseline Length The length of the baseline between the remote and the reference station has
arguably the second largest influence on the time taken for a receiver to reach a converged state,
since, essentially the key to convergence is solving the starting vector.
For a receiver to reach convergence, the calculations performed by the relative carrier phase GPS
system must generate the position of the remote station with respect to the reference station, i.e.
baseline vector. Therefore the length of the baseline plays an important factor in the convergence
time.
Navigation System Design
Eduardo Nebot
Slide 101
GLONASS
The GLONASS is the Russian equivalent GPS system, in this case named Global Navigation Satellite
System. It also transmits navigation and range data on two frequencies L1 and L2.
Unlike GPS where the satellites are distinguished by the spread-spectrum code, the satellites in
GLONASS are distinguished by the frequency of the signal, L1 between 1597-1617 MHz and L2
between 1240-1260 MHz. The system is also envisioned to handle 24 satellites in almost the same
configuration as the GPS equivalent
If both systems are combined then a theoretical doubling of the number of satellites in view is
achievable. This increase in the number of satellites increases both the navigation performance and
fault detection capabilities.
There are already commercial GPS using both systems ( GLONASS + GPS )
Navigation System Design
Eduardo Nebot
Slide 102
Coordinate Transformation
GPS gives the solution in ECEF coordinates. This section presents coordinate transformation
equation that converts position and velocity given in the standard ECEF frame to the local
navigation frame used by the data fusion algorithms presented in this course.
The position Pg = {PX , PY , PZ } and velocity Vg = {VX , VY , VZ } obtained from the GNSS receiver
is delivered in the WGS-84 datum, represented by the ECEF coordinate frame,
Z
N
E
D
φ
Y
λ
X
Figure 12: Coordinate representations. XYZ represents the orthogonal axes of the ECEF coordinate frame used by the GNSS receiver. λ represents the longitude
and φ the latitude of the vehicle. NED represents the local navigation frame at which the vehicle states are evaluated to.
Navigation System Design
Eduardo Nebot
Slide 103
The latitude and longitude is obtained by transforming the position observation received by the
GNSS receiver unit from ECEF to geodetic coordinates. The equations are
Semimajor Earth axis (metres) a = 6378137.0
Undulation f = 0.003352810664747
Semiminor Earth axis (metres) b = a(1 − f )
Coefficients
:
q
p =
Px2 + Py 2
t = tan−1(
Pz × a
)
p×b
e1 = 2f − f 2
a2 − b 2
e2 =
b2
3
−1 PZ + e2 × b sin t
latitude (degrees) φ = tan (
)
p − e1 × a cos3 t
PY
longitude (degrees) γ = tan−1( )
PX
Given the latitude and longitude, a transformation matrix Cng can be formed which transforms the
Navigation System Design
Eduardo Nebot
Slide 104
position and velocity data given by the GNSS receiver from the ECEF frame over to the navigation
frame.

Cng


= 


− sin φ cos λ − sin φ sin λ
− sin λ
cos λ
cos φ
0




(88)
− cos φ cos λ − cos φ sin λ − sin φ
Thus the position and velocity of the vehicle in the local navigation frame is
Pn = CngPg
(89)
Vn = CngVg
(90)
If the vehicle’s work area has negligible change in latitude and longitude, then Cng is effectively fixed.
Equations 89 and 90 form the observations needed for the aided inertial navigation system.
Navigation System Design
Eduardo Nebot
Slide 105
Inertial Sensors
Navigation System Design
Eduardo Nebot
Slide 106
Inertial Sensors
Inertial sensors make measurements of the internal state of the vehicle. A major advantage of
inertial sensors is that they are non-radiating and non-jammable and may be packaged and sealed
from the environment. This makes them potentially robust in harsh environmental conditions.
Historically, Inertial Navigation Systems (INS) have been used in aerospace vehicles, military
applications. However, motivated by requirements for the automotive industry, a whole
variety of low cost inertial systems have now become available in diverse applications such as
heading and attitude determination.
The most common type of inertial sensors are
• Accelerometers: measure acceleration with respect to an inertial reference frame. This includes
gravitational and rotational acceleration as well as linear acceleration.
• Gyroscopes: measure the rate of rotation independent of the coordinate frame.
Navigation System Design
Eduardo Nebot
Slide 107
Inertial Sensors applications
The most common application of inertial sensors are:
• Heading: Integration of the gyro rate information provides the orientation of the platform
• Inclinometers: using accelerometers to determine the attitude by knowing the valued of gravity.
• Vibration Analysis: use of accelerometers to determine vibration.
• IMU: Six degree of freedom Inertial Measurement Unit to determine position,velocity and
attitude of a platform. They can also provide 3-D position information and, unlike encoders, have
the potential of observing wheel slip.
• AHRS: Attitude and heading reference systems.
Navigation System Design
Eduardo Nebot
Slide 108
Fundamental Principles of Accelerometers
Accelerometers measure the inertia force generated when a mass is affected by change in velocity.
This force may change the tension of a string or cause a deflection of beam or may even change the
vibrating frequency of a mass.
The accelerometers are composed of three main elements:
• a mass
• a suspension mechanism that positions the mass
• a sensing element that returns an observation proportional to the acceleration of the mass
• a servo loop that generates an apposite force to improve the linearity of the sensor ( HQ )
Navigation System Design
Eduardo Nebot
Slide 109
A basic one-degree of freedom accelerometer is shown in Figure 13. This accelerometer is usually
referred to as an open loop since the acceleration is indicated by the displacement of the mass.
Sensitive
axis
Spring
k
X
Mass
m
0
c
Damper
Frame
Figure 13: Basic Components of an open loop accelerometer
The accelerometer described in this example can be modelled with a second order equation:
d2 x
dx
F = m 2 + c + kx
(91)
dt
dt
where F is the applied force to be measured. The damping can be adjusted to obtain fast responses
without oscillatory behaviour.
Navigation System Design
Eduardo Nebot
Slide 110
Fundamental Principles of Accelerometers
Many of the actual commercial accelerometers are based on the pendulum principle. They are built
with a proof mass, a spring hinge and a sensing device. These accelerometers are usually constructed
with a feedback loop to constrain the movement of the mass and avoid cross coupling accelerations.
One important specification of the accelerometers is the minimum acceleration that can be measured.
The Figure shows the acceleration measured when travelling with a car at low speed. A accelerometer
for such applications is usually capable of measuring acceleration of less than 500 µg. The dependence
of the bias with temperature and the linearity of the device are also important specifications.
0.6
0.4
Acceleration (g)
0.2
0
−0.2
−0.4
−0.6
−0.8
0
50
100
150
Time (sec)
Navigation System Design
Eduardo Nebot
Slide 111
Fundamental Principles of Gyroscopes
These devices return a signal proportional to the rotational velocity. There is a large variety of
gyroscopes that are based on different principles. The price and quality of these sensors varies
significantly.
Vibratory gyroscopes
These types of gyroscopes are based on obtaining rotation rate by measuring coriolis acceleration.
They can be modelled by a simple mass-spring system as shown in the Figure. The purpose of the
gyroscope is to measure the angular velocity of the particle that is supposed to be rotating about the
axis OZ.
Y
Primary
motion
Secondary
motion
O
Navigation System Design
X
Eduardo Nebot
Slide 112
Vibratory gyroscopes
The particle is made to vibrate with constant amplitude along the axis OX. This primary motion
is controlled by an embedded circuit that maintains the oscillation at constant amplitude.
Under rotation the mass will experience a coriolis inertia force that will be proportional to the
applied rate of turn and will have a direction parallel to the OY axis. This secondary motion
amplitude is measured to provide information proportional to the angular rotation.
Y
Primary
motion
Secondary
motion
O
X
Some devices provide an additional feedback mechanism for this secondary motion to increase the
linearity of the sensor.
Navigation System Design
Eduardo Nebot
Slide 113
Vibratory gyroscopes
The Performance of gyroscopes is mainly characterized by two parameters: scale factor and drift.
A gyro with low distortion in the scale factor will be able to accurately sense angular rates at
different angular velocities. Various system imperfections and as well as environmental conditions can
cause significant variations in the scale factor.
Gyro drift is the nominal output of the gyro in steady state. This non-zero output is usually
temperature dependent.
Murata manufactures a gyroscope model Gyrostar ENV05 that is based on this principle. This
device presents very good high frequency characteristics but poor low frequency performance. The
drift expected is in the order of 1 degree / minute.
Better performance can be expected from the Vibrating Structure Gyroscopes from BAE and the
quartz rate sensors build by Systron Donner. These devices have a drift of less that 0.15
degree/minute and the linearity is better than 0.05 % of the full range.
Navigation System Design
Eduardo Nebot
Slide 114
Fiber Optic Gyros
The fiber optic gyros are based on the Sagnac effect discovered by Georges Sagnac in 1913:
Assume two waves of light circulating in opposite direction around a path of radius R. If the source is
rotating at speed ω, the light traveling in the opposite direction will reach the source sooner than the
wave traveling in the same direction, as shown in Figure. The wave traveling with the rotation will
covers a distance D1 in a transit time t1, while the other signal covers a distance t2 in time D2
D1 = 2πR − Rωt1
(92)
D2 = 2πR + Rωt2
t1
t2
Light
source
Navigation System Design
R
ω
Eduardo Nebot
Slide 115
Fiber Optic Gyros
Making the waves travel the path N times, the difference in transit time becomes:
4πN R2ω
∆t = N (t2 − t1) =
c2
It is important to relate this time difference with a phase shift at a particular frequency.
φ = 2π∆tf
(93)
(94)
For a given rotation ω the phase shift will be
8π 2RN
∆φ =
ω
(95)
c
Most low cost implementations of these devices works in an open loop manner. The maximum phase
shift that can be evaluated without ambiguities is 90 degrees.
There are commercial laser gyros such as the KVH model Ecore 2000 and 1000, which are capable
of drifts as low as 0.036 and 0.12 degree per minute respectively. Closed loop optical gyros are also
available but they are more expensive
Navigation System Design
Eduardo Nebot
Slide 116
Sensor Errors
The measurement errors of inertial sensors are dependent on the physical
operational principle of the sensor itself. The general error equation used for gyros is:


a
 x


δωx = b + bg  ay  + sf ωx + my ωy + mz ωz + η,


az
(96)
and that of the accelerometers as
δfx = b + sf ax + my ay + mz az + η,
(97)
• b is the residual biases
• bg is a 1 × 3 vector representing the g-dependent bias coefficients
• sf is the scale factor term
• m represents mounting and internal misalignments and
• η is random noise on the sensor signal
Apart from the random noise term η, all other error terms are, in principle, predictable thus
allowing for some form of compensation.
Navigation System Design
Eduardo Nebot
Slide 117
Evaluation of the Error Components
Tests which can be performed to gyros and accelerometers in order to systematically remove the
errors.
Temperature and memory effect play a significant role in the stability of the output of low
cost inertial sensors. It is for this reason that when one purchases low cost inertial units, not all the
values for the error terms are available, and so testing is required based on the application at hand.
If the gyro is left stationary then the only error term encountered is that of the g-independent
bias. This value is strongly correlated with temperature. Thus by cycling through the temperature
that would be encountered in the target application the bias on the gyro can be determined.
The better the gyro, the smaller the bias variation over the temperature range. Furthermore, the
better the sensor the greater the linearity of this bias variation.
Hysterisis effect is common in most inertial sensors. Thus in an ensemble of tests, cycling through
the temperature in the same manner each time, the variation in the bias between ensembles can be
determined. This is known as the switch-on to switch-on bias.
Navigation System Design
Eduardo Nebot
Slide 118
Evaluation of the Error Components
When testing for the remaining error components, the g-independent bias is assumed known and is
removed. Start with a rate table and place the gyro with the sensitive axis orthogonal to input
rotation vector. Any output signal will be due to internal misalignment of the sensor’s input axis.
With the misalignment and g-independent bias available, the gyro is placed on the rate table with its
sensitive axis parallel to rotation input.
The rate table is cycled from stationary to the maximum rotation measurable by the gyro in steps,
holding the rotation rate at particular points. The scale factor and the scale factor linearity
can then be determined by comparing the output of the gyro to the rotation rate input. With low
cost gyros the temperature also has a part to play with scale factor stability, thus the tests
should also be conducted with varying temperature.
Finally the gyro can be placed in a centrifuge machine which applies a rotation rate and acceleration
to the gyro. The output reading from the gyro minus the previous terms calibrated, results in the
determination of bias due to acceleration or g-dependent bias.
Navigation System Design
Eduardo Nebot
Slide 119
Evaluation of the Error Components
By mathematically integrating Equations 96 and 97, the effect of each error term on the performance
of the gyro can be determined. For each error term that is accounted for there is a corresponding
increase in performance.
Table 1 compares the error values available for the RLG, FOG, ceramic and silicon VSGs
Characteristic
RLG
FOG
g-independent bias o/hr
0.001-10
0.5-50
360-1800
> 2000
g-dependent bias o/hr/g
0
<1
36-180
36-180
5 - 100
5 - 100
scale factor non-linearity % 0.2 - 0.3 0.05 - 0.5
Ceramic VSG Si VSG
Table 1: Comparison of some of the major errors with various gyro implementations
Navigation System Design
Eduardo Nebot
Slide 120
Faults associated with Inertial Sensors
The accelerometers measure the absolute acceleration with respect to an inertial frame. We are
interested in the translational acceleration hence the algorithms used should compensate for all
other accelerations.
For practical purposes it can be considered that gravity is the only other acceleration present. We
have seen that the average acceleration in a land vehicle is smaller that 0.3 g. This implies that the
orientation of the accelerometer has to be known with very good accuracy in order to
compensate for gravity without introducing errors comparable to the actual translation acceleration.
0.6
0.4
Acceleration (g)
0.2
0
−0.2
−0.4
−0.6
−0.8
0
50
100
150
Time (sec)
This has been the main limitation that has prevented the widespread use of inertial sensors as
position sensors in low cost land navigation applications.
Navigation System Design
Eduardo Nebot
Slide 121
Faults associated with Inertial Sensors
The orientation of the accelerometer can be tracked using a gyroscope. The output of
these sensors are always contaminated by noise and drift. For short periods of time the drift can
be approximated by a constant bias.
The orientation is evaluated with a single integration of the gyroscope output:
Z
Z
θm = θ̇ + b + ν dt = θ + bt + ν dt
(98)
The integration returns the rotation angle with two additional undesired terms:
• Random walk: due to noise
• Bias generating an error that grow with time
Navigation System Design
Eduardo Nebot
Slide 122
Gyro drift
Figure 14: Errors due to drift in the gyro
From the figure we can see that the gyro drift will introduce an error in acceleration given by
a = ax sin(bt)
Navigation System Design
Eduardo Nebot
(99)
Slide 123
Gyro drift
For small angle increments the errors in acceleration, velocity and position are given by:
a = axbt
1
v = axbt2
2
1
p = axbt3
6
(100)
(101)
(102)
A constant gyro bias introduces an error in position determination that grows proportional to t3. For
standard low cost, good quality gyros the bias expected is in the order of 1-10 degrees / hour.
Without calibration, the bias could introduce an error of approximately 140 meters due to
the incorrect compensation of gravity after only 2 minutes of operation.
Another aspect to considered is the resolution of the analog to digital converter. The original noise
standard deviation of the gyro noise could be deterirated selecting an inappropriate digital to analog
converter. A gyro with stability of the order of 1 degree per hour that works in a range of +/-100
deg/sec and will require a 16-bit converter to operate under its specifications.
Navigation System Design
Eduardo Nebot
Slide 124
Accelerometer bias
The bias in the accelerometer will also increase the error in position and is proportional to the square
of time:
v = ba t
(103)
1
p = ba t2
(104)
2
The Figure presents the bias measured in a set of identical accelerometers corresponding to an
inertial unit over a period of six hours whilst they were stationary.
−3
5
x 10
X accelerometer
Y accelerometer
0.03
Acceleration (g)
Acceleration (g)
0
−5
−10
−15
−20
0
2
4
6
0.025
0.02
0.015
0.01
0
2
Z accelerometer
6
Temperature
−1
30
−1.01
Temp (C)
Acceleration (g)
4
−1.02
25
20
−1.03
−1.04
0
2
4
Time (hours)
6
15
0
2
4
Time (hours)
6
Figure 15: Bias change of the accelerometers over a period of 6 hours.
Navigation System Design
Eduardo Nebot
Slide 125
Accelerometer bias
The biases do not remain constant and in fact it can be clearly seen that any one accelerometer is not
indicative of the general performance of the other accelerometers.
The different biases values indicates that they are physically different low cost inertial sensors.
The change in the value occur due to an increase of the temperature of the unit due to ambient
temperature variations.
The estimation of the biases needs to be done each time the vehicle is stationary to minimize this
problem.
The calibration procedure must incorporate the identification of gyro and accelerometer biases at the
beginning of the navigation task and become active each time the vehicle stops. These identification
of the biases can also be done on-line but information from other sensors is required.
−3
5
x 10
X accelerometer
Y accelerometer
0.03
Acceleration (g)
Acceleration (g)
0
−5
−10
−15
−20
0
2
4
6
0.025
0.02
0.015
0.01
0
2
Z accelerometer
Temp (C)
Acceleration (g)
6
30
−1.01
−1.02
25
20
−1.03
−1.04
Navigation System Design
4
Temperature
−1
0
2
4
Time (hours)
6
15
0
2
4
Time (hours)
Eduardo Nebot
6
Slide 126
Random Walk
R
A second mayor error is due to the integration of random walk ( ν dt) which causes a growing error
term known as random walk.
The Figure presents the effects of integrating a gyro signal on a stationary unit for various runs after
the bias was removed. Although the average error is zero in any particular run, the error grow will
occur in a random direction.
Random Walk − X gyro
0.3
0.2
0.1
Angle (degrees)
0
−0.1
−0.2
−0.3
−0.4
−0.5
Navigation System Design
0
0.5
1
1.5
Time (min)
Eduardo Nebot
2
2.5
3
Slide 127
Random Walk
Assuming unity strength white Gaussian noise and letting x(k) =
Z t
Z t
E[ ν(u)δu] =
E[ν(u)]δu
0
and the variance is
Z
2
E[x (t)] = E[
0
ν(u)δ(u), then the mean is:
(105)
0
Z
t
ν(u)δu
0
Rt
Z tZ
t
t
ν(v)δv] =
0
E[ν(u)ν(v)]δuδv
0
(106)
0
E[ν(u)ν(v)]is the auto-correlation function, which in this case (assuming uncorrelated errors) is
simply a Delta Dirac function δ(u − v). Hence Equation 106 becomes:
Z tZ t
E[x2(t)] =
δ(u − v)δuδv = t
(107)
0
The standard deviation of the noise is:
0
√
σν = t
(108)
Therefore the white noise will cause an unbounded error growth whose value at any particular point
√
will be bounded by ±2 t 95 % of the time. For white noise of strength K the standard deviation is
√
σν = K t. The larger the standard deviation of the noise the greater the standard deviation of the
error. ( a good gyro can be degraded with inappropriate signal conditioning and electronic !)
Navigation System Design
Eduardo Nebot
Slide 128
Application Inertial Sensors
Inclinometers: These sensors are based on accelerometers that resolve the direction of the gravity
vector.
The gravity vector is a known quantity that is constant in magnitude and direction. The Figure
presents a basic example of a tilt sensor. These sensors are usually calibrated through a look-up table
G
G
to determine the offset as a function of temperature.
r
ete
rom
ele
Acc
B
Accelerometer
Vout=Accelerometer Offset
Navigation System Design
Vout=Scale Factor *G * Sin(B) +
Accelerometer Offset
Eduardo Nebot
Slide 129
Inclinometers
There are tilt sensors available for this purpose that can provide accurate information while the
vehicle is stationary.
Low cost devices can provide bank and elevation information with an accuracy of up to 0.1 degrees.
These sensors can not be used when the platform is moving since they are sensitive to translational
and rotational accelerations.
Pendulum accelerometers are also used to determine the bank and elevation angles. These
devices use the principle that a pendulum with an equivalent radius of the earth will always point to
the vertical irrespective of the acceleration. This effect can be approximated with appropriate
feedback loop compensation. Although they are able to obtain some rejection of the undesired
acceleration due to the movement of the platform they can only be used under very low vehicle
accelerations.
These sensors are also used to determine the initial attitude of inertial platform.
Navigation System Design
Eduardo Nebot
Slide 130
Vibration Analysis
Vibration Analysis consist of measuring the frequency strength over a range of frequencies of
vibrations.
Machinery vibration problems can consume excessive power and impose additional wear on bearings,
seals, couplings and foundations. Vibrations are typically caused by machinery misalignment and
unbalance.
These problems can be detected by obtaining the frequency response of the vibration of the machine
under investigation. This is commonly done via analysis of the FFT of an acceleration signal.
There are other application where vibration monitoring may be useful such as the analysis and
identification of vibration sources, problems in structures, vibration and shock testing, analysis to
ensure products comply with specified vibration required for the application etc.
Navigation System Design
Eduardo Nebot
Slide 131
Heading
The Integration of the gyro rate information provides the orientation of the platform.
A good quality gyro will have zero or constant bias, and small noise variance.
There are many types of gyroscopes but few in the price range that can be afforded in commercial
mobile robot applications.
Fiber optic and vibratory gyroscopes have been released with satisfactory specifications and
reasonable price ranges for many navigation applications
Navigation System Design
Eduardo Nebot
Slide 132
Inertial Measurement Unit(IMU)
A IMU consists of at least three (triaxial) accelerometers and three orthogonal gyroscopes that
provide measurements of acceleration in three dimensions and rotation rates about three axes.
The Physical implementation of inertial sensors can take on two forms:
• Gimballed arrangement
• Strapdown
Navigation System Design
Eduardo Nebot
Slide 133
Gimballed IMU
This unit consists of a platform suspended by a gymbal structure that that allows three degree of
freedom, as shown in the Figure. The vehicle can then perform any trajectory in 3-D while the
platform is maintained level with respect to a desired navigation frame using the feedback control
loops. These loops use the gyro signal to provide appropriate control signal to the actuators places in
each gymbal. With this approach the platform can be maintained aligned with respect to a
coordinate system. The information provided by the accelerometers can then be integrated directly
to obtain position and velocities.
Navigation System Design
Eduardo Nebot
Slide 134
Strapdown IMU
The IMU system assembled from low cost solid-state components is almost always constructed in a
”strap-down” configuration. This term means that all of the gyros and accelerometers are fixed to a
common chassis and are not actively controlled on gimbals to align themselves in a pre-specified
direction.
This design has the advantage of eliminating all moving parts.
Once true linear acceleration has been determined, vehicle position may be obtained, in principle, by
double integration of the acceleration. Vehicle orientation and attitude may also is determined by
integration of the rotation rates of the gyros.
z
Az
Gz
Ax
x
y
Ay
G
y
Gx
Navigation System Design
Eduardo Nebot
Slide 135
Coordinate Frames
Navigation System Design
Eduardo Nebot
Slide 136
Coordinate Frames
Inertial Navigation systems require the transformation of the different measurement quantities
between different frames of reference.
The accelerometer and gyros measure acceleration and rotation rates with respect to an inertial frame.
Other sensors such as Global Positioning System (GPS) report information in Earth Centered Earth
Fixed (ECEF) coordinate frame.
The navigation system needs to transform all the information to a common coordinate frame to
provide the best estimate and sometime be able to report the output in various other coordinate
frames. This section will introduce the different coordinate system used in this course.
Navigation System Design
Eduardo Nebot
Slide 137
Inertial Frame
According to Newtown’s law of motion, an inertial frame is a frame that does not rotate or
accelerate. It is almost impossible to find a true inertial frame.
A good approximation is the one that is inertial with a distant star.
For practical purposes we define an inertial frame with origin at the earth center of mass, with x axis
pointing towards the vernal equinox at time T0, the z axis along the earth’s spin axis and the y axis
completing the rigth handed system.
Navigation System Design
Eduardo Nebot
Slide 138
Earth-centered Earth-Fixed (ECEF)Frame
This frame has origin at the mass centre of the Earth, the x axis points to the Greenwich Meridian in
the equatorial plane, the y plane at 90 degree east in the same plane and the z axis in the direction of
rotation of the reference ellipsoid.
This frame is not an inertial frame. It can be approximated to an inertial frame by a negative
rotation equivalent to the Greenwich mean Sidereal Time (GMST). The earth’s geoid is a surface
that minimize the difference with the earth’s sea level. This geoid is approximated with an ellipsoid
around the earth’s minor axis. Different parameter are available for different areas of the world. The
most common reference ellipsoid used is the WGS 84.
Navigation System Design
Eduardo Nebot
Slide 139
Local Level Earth Frame
This frame, also known as Geographic or Earth frame, is defined locally relative to the earth’s geoid.
The axis x points to the North’s direction, the z axis is perpendicular to the tangent of the ellipsoid
pointing towards the interior of the earth, not necessarily to the centre of the earth. Finally the y
axis points east to complete a right handed orthogonal system
Geocentric frame:
This frame is similar to the Local Level frame with the difference that the z axis points to the centre
of the earth.
Local Geodetic frame:
This coordinate system is very similar to the Local level Frame. The main difference is that when the
system is in motion the tangent plane origin is fixed, while in the local level frame the origin is the
projection of the platform origin into the earth’s geodic. This is frame is mainly used to perform
navigation in local areas relative to a given origin point.
Navigation System Design
Eduardo Nebot
Slide 140
Wander Frame
The Local Level frame presents some numerical problems to integrate the data from inertial system
when close to the poles.
In this areas significant rotation around the axis z are required to maintain the x axis pointing
North. This is true even with small movement in the y direction. This problem can be solved
performing all the computation in a frame that does not require to point to North. The x axis then
wanders from North at a rate chosen by the user.
Body Frame
Most navigation systems have sensors attached to the vehicle. The body frame constitutes a new
frame that is rigidly attached to the vehicle. The origin of this frame can be arbitrarily chosen
although some location may simplify the kinematics models.
Navigation System Design
Eduardo Nebot
Slide 141
Summary of Frames
The Figure shows the coordinates system used in this course. Absolute sensors like GPS provide
position in ECEF coordinates, using X, Y, Z or latitude, Longitude and Height Φ, λ, H. Inertial
sensors will return information in its body frame, which is in permanent rotation and translation
from the navigation frame N, E, D. All the sensory information needs to be converted to the
navigation frame prior to perform the data fusion task to obtain the best position estimate.
Z
N
E
D
φ
Y
λ
X
Navigation System Design
Eduardo Nebot
Slide 142
Inertial Navigation Equations
This section presents the derivation of the inertial navigation equations for global and local area
navigation.
The basic Idea:
Once the acceleration in the direction of travel is obtained the position and velocity can be evaluated:
vx(t) =
px(t) =
R
R
ax(t) dt
vx(t) dt
Although the problem looks simple the main challenge is to discriminate the value of the
translational acceleration from the absolute acceleration measured by the accelerometer.
Navigation System Design
Eduardo Nebot
Slide 143
The Coriolis Theorem
Navigation with respect to a rotating frame such as the earth requires the Coriolis theorem.
The theorem states that the velocity of a vehicle with respect to a fixed inertial frame vi, is equal to
the ground speed of a vehicle ve (the velocity of the vehicle with respect to the earth), plus the
velocity of the vehicle due to the rotation rate of the earth with respect to the inertial frame ω ie, at
the point on earth where the vehicle is located r, that is,
vi = ve + ω ie × r,
(109)
where ω ie = [0 0 Ω] and Ω is the rotation rate of the Earth .
Differentiating this equation with respect to the inertial frame gives
v̇i|i = v̇e|i + ω̇ ie|i × r + ω ie × v|i.
Navigation System Design
Eduardo Nebot
(110)
Slide 144
The Coriolis Theorem
Assuming that the angular acceleration of the Earth is zero, that is ω̇ ie = 0, and substituting
Equation 109 into 110,
ω ie × v|i = ω ie × [ve + ω ie × r]
= ω ie × ve + ω ie × [ω ie × r],
(111)
v̇i|i = v̇e|i + ω ie × ve + ω ie × [ω ie × r].
(112)
hence Equation 110 becomes
Now v̇i|i = f + g where f is the specific force encountered due to the vehicle motion and g is the force
due to gravity. Hence Equation 112 becomes
f + g = v̇e|i + ω ie × ve + ω ie × [ω ie × r],
Navigation System Design
Eduardo Nebot
(113)
Slide 145
The Coriolis Theorem
that is,
v̇e|i = f − [ω ie × ve] + [g − ω ie × [ω ie × r]].
(114)
The Equation states that the acceleration over the Earth’s surface is equal to:
The acceleration measured by the accelerometers compensated for:
• The Coriolis acceleration encountered due to the velocity of the vehicle over a rotating Earth,
ω ie × ve
• The local gravity acceleration which comprises of
– the Earth’s gravity g,
– acceleration due to the rotation of the Earth, also known centripetal acceleration ω ie × [ω ie × r].
Navigation System Design
Eduardo Nebot
Slide 146
Navigation in large areas
The Transport frame is used when a vehicle travels over large distances around the earth such as in
missile or air transport applications.
The objective of this framework is to obtain the ground speed of a vehicle with respect to a
navigation frame, generally expressed in North, East and Down coordinates, at a given location,
expressed in latitude, longitude and height.
In such situations the rotation of the earth needs to be taken into consideration along with the fact
that the navigation frame is also rotating.
As an example, constantly keeping the North axis aligned on a flight from Sydney to London will
require the navigation frame to constantly rotate. This, coupled with the fact that the earth is
rotating during this transition, causes a Coriolis acceleration between the navigation frame, the earth
rotation and the ground speed of the vehicle.
Navigation System Design
Eduardo Nebot
Slide 147
Navigation in large areas
The Transport framework is defined as: the acceleration of the vehicle with respect to the navigation
frame v̇e|n, is equal to the acceleration of the vehicle with respect to the inertial frame v̇e|i, minus the
Coriolis acceleration due to the navigation frame rotating ω en, on a rotating earth ω ie. That is,
v̇e|n = v̇e|i − (ω ie + ω en) × ve.
(115)
Substituting in Equation 114,
v̇e|n = fn − [ω ie × ve] + [g − ω ie × [ω ie × r]] − (ω ie + ω en) × ve
= fn − (2ω ie + ω en) × ve + [g − ω ie × [ω ie × r]],
(116)
where fn represents the acceleration in the navigation frame. Since the inertial unit measures the
acceleration in the body frame fb, this acceleration needs to be transformed into the navigation
frame, that is,
fn = Υfb.
(117)
The transformation Υ, can take on three forms as will be discussed later.
Navigation System Design
Eduardo Nebot
Slide 148
Navigation in large areas
The rotation data relating the body to navigation frame ω bn is now required.
The gyros measure the total inertial rotation ω ib which comprises of ω bn plus the rotation of the
navigation frame with respect to the inertial frame, which is the rotation rate of the navigation frame
with respect to the earth plus the rotation rate of the earth with respect to the inertial frame,
ω bn = ω ib − [ω ie + ω en],
(118)
where ω en is known as the transport rate and is defined as
−vx −vy tan L
vy
,
,
].
(119)
ω en = [
Ro + h Ro + h Ro + h
L is the latitude of the vehicle, Ro is the radius of the Earth and h is the height of the vehicle above
the earth’s surface. The transport rate is what rotates the navigation frame as the vehicle travels
across the surface of the earth.
Navigation System Design
Eduardo Nebot
Slide 149
Navigation in local areas, Earth Frame
In the Earth frame the acceleration of the vehicle with respect to the earth v̇e|e, is equal to the
acceleration of the vehicle with respect to the inertial frame v̇e|i, minus the Coriolis acceleration due
to the velocity of the vehicle ve, over a rotating earth ω ie,
v̇e|e = v̇e|i − ω ie × ve.
(120)
The Earth frame will be used throughout this work since its definition is well suited for land vehicle
applications. Substituting in Equation 114 gives
v̇e|e = fe − 2[ω ie × ve] + [g − ω ie × [ω ie × re]].
(121)
Since inertial unit measures the acceleration in the body frame, the acceleration measurements need
to be transformed into the earth frame,
fe = Υf b,
(122)
where Υ now comprises of the rotation rates ω be which relates the body to earth frame. However,
the gyros measure the total inertial rotation ω ib which comprises of ω be plus the rotation of the earth
with respect to the inertial frame transformed over to the body frame, so
ω be = ω ib − Υbeω ie.
Navigation System Design
Eduardo Nebot
(123)
Slide 150
Schuler Damping
The major difference between the Transport and Earth frame equations is the transport rate defined
by Equation 124.
ω en = [
vy
−vx −vy tan L
,
,
].
Ro + h Ro + h Ro + h
(124)
The transport rate is subtracted from the body rates and hence defines the attitude of the system
with respect to the Transport frame.
Incorporating the transport rate also adds a bound to the errors associated with inertial systems.
This is because the acceleration in the navigation frame is twice integrated to provide velocity and
then position. The velocity is used to determine the transport rate which is then subtracted from the
body rates.
For example, assume that the pitch is in error by a small angle δβ. This error in turn causes an
incorrect calculation of the acceleration due to the misalignment and the measurement of gravity
given by gδβ. Repeating this process shows that misalignment feeds back onto itself.
Navigation System Design
Eduardo Nebot
Slide 151
Schuler Damping
The characteristic equation of such a system exhibits simple harmonic motion with period
r
g
,
ωs =
Ro
or 84.4 minutes. This is known as the Schuler oscillation. In essence, by implementing the Transport
frame, the errors are bounded within the Schuler oscillations.
If a system is tuned to the Schuler frequency then some general rules of thumb can be obtained for
inertial systems:
s t)
• An initial velocity error δvo, causes a position error of δvo sin(ω
ωs ;
• An initial attitude error δβ, causes a position error of δβR(1 − cos(ωst));
s t)
• An acceleration bias δf , causes a position error of δf ( 1−cos(ω
); and
2
ω
s
s t)
• A gyro bias δωb, causes a position error of δωbR(t − sin(ω
ωs ).
Thus for all errors, except for gyro bias, the position error is contained within the Schuler oscillation.
With accurate gyros, passenger airlines can travel vast distances relying solely on inertial navigation.
Navigation System Design
Eduardo Nebot
Slide 152
Attitude Algorithms
The transformation matrix Υ is required to evaluate the acceleration vector in the desired frame
given the acceleration vector in the body frame.
This transformation matrix has to be accurate since misalignment (errors in estimated attitude)
causes the components of the gravity vector measured by the accelerometers to be confused with true
vehicle acceleration. Integrated over time, even small misalignment errors will cause large estimated
errors.
The transformation matrix consists of the roll, pitch and yaw angles required to rotate the
body frame to the navigation frame and hence is updated continuously since the body frame
is always rotating with respect to the navigation frame.
The updating process propagates this matrix based on data obtained from the gyros, thus any errors
in Υ is caused by both the physical errors associated with the gyros and the errors in the algorithms
used to propagate the transformation matrix.
Navigation System Design
Eduardo Nebot
Slide 153
Attitude Algorithms
There are a number of algorithms available for attitude propagation. However, regardless of the type
of attitude algorithm implemented, in their analytical forms they provide identical results.
The choice of algorithm depends on the processing power available, on the errors introduced due to
discretisation of algorithms, and on the errors introduced due to the simplification of the algorithms.
The simplification of algorithms is to ease the computational load on the processor.
There are in principle three approaches to propagating the transformation matrix:
• Euler method
• Direction Cosine method
• Quaternion method
The Euler approach is conceptually easy to understand although it has the greatest computational
expense. Although the Quaternion approach is computational inexpensive compared to the other
two, it has no direct physical interpretation to the motion of the vehicle. The Direction Cosine
approach fits in between, both in terms of physical understanding and in computational expense
Navigation System Design
Eduardo Nebot
Slide 154
Euler Representation
The Euler representation is the mathematical analog form of a gimbal system. The roll θ, pitch β
and yaw γ angles used to represent the rotations from the body frame to the navigation frame are
placed in a transformation matrix Enb, by multiplying the consecutive rotation matrices representing
a roll, followed by a pitch and then a yaw,

E nb


1 0 0
β 0 βs
γ −γs 0

 c
 c



=  γs γc 0   0 1 0   0 θc −θs



0 θs θc
−βs 0 βc
0 0 1


β γ −θcγs + θsβsγc θsγs + θcβsγc

 c c


=  βcγs θcγc + θsβsγs −θsγc + θcβsγs 


−βs
θsβc
θcβc





(125)
where subscripts s and c represent sine and cosine of the angle.
Navigation System Design
Eduardo Nebot
Slide 155
Euler Representation
As the body frame rotates, the new angles are obtained from
θ̇ = (ωy sin θ + ωz cos θ) tan β + ωx
(126)
β̇ = ωy cos θ − ωz sin θ
(127)
γ̇ = (ωy sin θ + ωz cos θ) sec β.
(128)
where ω is the rotation rate measured by the gyros about the x, y and z axes.
Both the roll and yaw updates have singularities when the pitch of the vehicle is π2 .
In a strapdown system, as the vehicle approaches
π
2
then theoretically infinite word length and
iteration rates are required in order to accurately obtain the result.
It is for this reason that Euler updates are not generally implemented, although this is not a problem
for land vehicle applications.
This approach is computationally expensive due to the trigonometry required in the updates and in
forming E nb.
Navigation System Design
Eduardo Nebot
Slide 156
Euler Representation
The discretisation procedure is as follows:
• The new roll angle is obtained through integration by
Z
θ(i + 1) =
θ̇dt + θ(i)
(129)
and similarly for pitch and yaw. The angles are then placed into the matrix to form Enb(i + 1).
• Obtain the acceleration data in the body frame fb = [fx, fy , fz ] and evaluate the acceleration in
the navigation frame
fn = Enbfb
(130)
• Integrate the acceleration to obtain velocity and then position.
Navigation System Design
Eduardo Nebot
Slide 157
Direction Cosine Matrix (DCM) Representation
The direction cosine matrix Cnb, is a 3 × 3 matrix containing the cosine of the angles between the
body frame and the navigation frame. Cnb is propagated by
n
Ċ b = CnbΩbn,
(131)
where Ωbn is a skew-symmetric matrix representing rotation rates as measured by the gyros,

Ωbn

0 −ωz ωy




=  ωz
0 −ωx  .


−ωy ωx
0
(132)
The initial Cnb is simply the initial Enb.
Navigation System Design
Eduardo Nebot
Slide 158
Direction Cosine Matrix (DCM) Representation
The discretisation procedure is as follows:
• Obtain the gyro outputs ωx, ωy , ωz and integrate to determine the change in angle φx, φy , φz .
• Determine the angular vector magnitude
q
φ =
φ2x + φ2y + φ2z
(133)
• Determine the series coefficients
sin φ
φ
1 − cos φ
β =
φ2
(134)
α =
• Form the angular skew matrix

(135)

0 −φz φy




φ =  φz
0 −φx


−φy φx 0
Navigation System Design
Eduardo Nebot
(136)
Slide 159
Direction Cosine Matrix (DCM) Representation
• Update the direction cosine matrix
2
Cnb(i + 1) = Cnb(i)[I3×3 + αφ + βφ ]
(137)
The transformation matrix can be simplified if one assumes small angular rotations (< 0.05deg)
Cnb(i + 1) = Cnb(i) [I + ∆θ]
with

(138)

0
−∆θY ∆θP




∆θ =  ∆θY
0
−∆θR 


−∆θP ∆θR
0
(139)
• Obtain the acceleration in the body frame and evaluate the acceleration in the navigation frame
fn = Cnb(i + 1)fb
(140)
• Integrate the acceleration to obtain velocity and then position.
Navigation System Design
Eduardo Nebot
Slide 160
Quaternion Representation
In the Quaternion approach the rotation from one frame to another can be accomplished by a single
rotation about a vector q through an angle q. A quaternion consists of four parameters which are a
function of this vector and angle.
The initial quaternion is obtained from the roll, pitch and yaw angles defined in the Euler
representation or alternatively through the Direction Cosine parameters,




q(i) = 



0.5 ∗
q
1 + Cbn11 + Cbn22 + Cbn33
1
n
4×q(1) (Cb32
− Cbn23 )
1
n
4×q(1) (Cb13
−
Cbn31 )
1
n
4×q(1) (Cb21
− Cbn12 )








(141)
The discretisation procedure is as follows:
• Obtain the gyro outputs ωx, ωy , ωz and integrate to determine change in angle φx, φy , φz .
Navigation System Design
Eduardo Nebot
Slide 161
• Determine the quaternion operator coefficients
sin φ2
γ =
2
φ
δ = cos
2
• Determine the quaternion operator

(142)
(143)

δ




 γ φx 

h(i) = 


 γ φy 


γ φz
• Generate the quaternion matrix and update

q(i)1


q(i)2
q(i + 1) = 

q(i)3

q(i)4
Navigation System Design
(144)

−q(i)2 −q(i)3 −q(i)4


q(i)1 −q(i)4 q(i)3 
 h(i)

q(i)4 q(i)1 −q(i)2

−q(i)3 q(i)2 q(i)1
Eduardo Nebot
(145)
Slide 162
Quaternion Representation
• Obtain the acceleration data in the body frame and evaluate the acceleration in the navigation
frame.
fn = q(i + 1)fTb q∗(i + 1),
(146)
where q∗ is the complex conjugate of q. A less computationally expensive approach is taken by
converting the quaternion back into Cnb by


(q12 + q22 − q32 − q42)
2(q2q3 − q1q4)
2(q2q4 + q1q3)




n
Cb =  2(q2q3 + q1q4)
(q12 − q22 + q32 − q42)
2(q3q4 − q1q2)  ,


2(q2q4 − q1q3)
2(q3q4 + q1q2)
(q12 − q22 − q32 + q42)
and then
fn = Cnbfb
(147)
• Integrate the acceleration to obtain velocity and then position.
Navigation System Design
Eduardo Nebot
Slide 163
Discussion of Algorithms
The Euler approach is not commonly used due to the presence of the roll/yaw singularity.
This does not pose a problem for land vehicle applications. However, the Euler approach requires
high computational effort and thus powerful processing if fast updates are required.
The Quaternion has the benefit of only requiring the update of four variables. It is most
often used in military and space applications. In order to save on computational cost, the quaternion
is converted to a DCM representation for transformation of the acceleration from the body frame to
the navigation frame. This can be a significant computational burden if fast sampling rates are
required. To overcome this most military users implement a dual sampling system.
As an example, a Laser INS (LINS) system typically samples Ring Laser Gyros (RLGs) at 1200Hz
and the accelerometers at 400Hz. The lower sampling rate is sufficient for typical LINS
navigation applications. Three samples of the RLGs are used to update the quaternion,
thus forming a “super” quaternion representing a single rotation. This quaternion is then converted
to the DCM representation and used to transform the acceleration measurements.
Navigation System Design
Eduardo Nebot
Slide 164
Discussion of Algorithms
The DCM approach is commonly used in all forms of inertial navigation. It also offers the best
representation for land navigation.
Although nine variables are updated at each sample, it is less computationally expensive than the
Euler representation, and unlike the Quaternion approach, requires no conversion over to another
representation in order to transform the acceleration data from the body frame to the navigation
frame.
In order to satisfy this small angle assumption, the update rates generally have to be high. For
example, land vehicles can undertake rotation rates of 50deg/sec, and so a sampling rate of at least
1kHz is required (to keep the angles below 0.05deg).
Such a sampling rate is high for low cost inertial systems although in more expensive systems used in
military and space applications 20kHz is not uncommon. If sampling rates are not that high then
the approximation may introduce an additional error.
Navigation System Design
Eduardo Nebot
Slide 165
Attitude evaluation error sources
The accuracy of the evaluation of attitude can be affected by a number of factors such as the
approximation made by the computation algorithm and the hardware limitation of the technology
used.
Errors in attitude computation: The update for the DCM requires:
2
Cnb(i + 1) = Cnb(i)[I3×3 + αφ + βφ ]
(148)
with
sin φ
φ
1 − cos φ
β =
φ2
α =
(149)
(150)
If these coefficients can be determined exactly then the DCM generated would be exact. However, in
practice a Taylor series expansion is required,
φ2 φ4
α = 1−
+
− ...
3!
5!
1 φ2 φ4
β =
−
+
− ...
2! 4!
6!
Navigation System Design
Eduardo Nebot
(151)
(152)
Slide 166
Attitude evaluation error sources
The error in the DCM algorithm can be represented as
1
(φa1 cos φ − sin φ + φ2a2 sin φ),
(153)
Ddc =
δt
where a1 = 1 and a2 = 0 for a first order algorithm, a1 = 1 and a2 = 0.5 for a second order
2
algorithm, a1 = 1 − φ3! and a2 = 0.5 for a third order algorithm and so on.
Table 2 shows the drift in the algorithm when the sampling rates are set to 10, 125, 200 and 500Hz
and the order of the algorithm is increased from a first to a third.
Order of Algorithm 10Hz
Table 2:
125Hz
200 Hz
500 Hz
1
30
0.23
0.04
0.012
2
14.7
0.11
0.021
0.006
3
0.001 5 × 10−7 4.85 × 10−7 1.4 × 10−9
Algorithm Drift Rates in o/hr caused by sampling a continuous rotation rate of 20deg/sec
Navigation System Design
Eduardo Nebot
Slide 167
Vibration
Vehicle vibration has a detrimental affect on the performance of inertial navigation systems. This is
due to the low bandwidth of low cost inertial sensors, causing attenuation or total rejection
of motion vibration at high frequencies.
Vibration is generally a combination of both angular and translational motion. If the bandwidth of
both the gyros and accelerometers are equal, and the vibration of the vehicle at frequencies above
this bandwidth has smaller magnitude than the resolution of the sensors (which is likely with low cost
units), then vibratory motion can safely be ignored.
However, the bandwidth of low cost gyros is almost always significantly less than for low cost
accelerometers. Vibrations cause small changes in attitude which is measured by the
accelerometers as a component of gravity. This acceleration component will be inaccurately
evaluated as apparent vehicle motion since the gyros can not measure this change in attitude.
Navigation System Design
Eduardo Nebot
Slide 168
Vibration
To overcome this problem it is necessary to introduce vibration absorbers into the physical system to
remove high frequency vibration.
As an example, ceramic VSGs have a bandwidth of approximately 70Hz. Thus the approach would
be to obtain vibration absorbers that attenuate as much of the signal as possible above 70Hz.
The effect of vibration on the attitude algorithms is termed ‘‘coning” or “non-commutativity”. The
definition of coning motion is simply stated as the cyclic motion of one axis due to the rotational
motion of the other two axes.
If one axis has an angular vibration rotation of A sin(ωt) and the other axis A sin(ωt + %), then the
third axis will have a motion describing a cone. A perfect cone motion would occur if the phase
difference % between the two axes is ninety degrees, otherwise the motion will exhibit some other
form (and in reality would be random).
Navigation System Design
Eduardo Nebot
Slide 169
Minimising the Attitude Errors
In light of the arguments presented, the approach taken for minimising the errors associated with
attitude algorithms for low cost inertial units will consist of the following steps:
• The bandwidth of the gyros employed will be the limiting factor in performance. Generally the
accelerometers employed and the sampling rate achievable will be higher than the bandwidth of
the gyro. If vehicle vibration exceeds that of the bandwidth of the gyro, then the only
reasonable choice is to use vibration absorbers to attenuate incoming signals above the
bandwidth of the gyro, taking into consideration the natural frequency of the absorber.
• The sampling rate of the inertial sensors should be above the Nyquist frequency and
furthermore should be as high as possible.
• The higher the order of the algorithm the better and this will come down to the
sampling rate and the processing power available.
Navigation System Design
Eduardo Nebot
Slide 170
Error Models for Inertial Systems
Navigation System Design
Eduardo Nebot
Slide 171
Error Models
The accuracy of inertial navigation will depend on:
• The accuracy of the sensors employed
• The computer implementation of the inertial algorithms
The inertial error equations are presented to analyse how these two effects contribute to the inertial
navigation system development.
These equations provide the position, velocity and attitude error growth, given the sensor
and algorithm errors. The development of the error equations is accomplished by perturbing (or
linearising) the nominal equations.
These error equations will then be used to implement the fusion algorithm with external data to
perform online alignment and update position and velocity information.
Navigation System Design
Eduardo Nebot
Slide 172
Error Models
Perturbation in the true frame: The error in a particular state is the difference between the estimated
state and the true state. Thus given that the Earth frame velocity equation is
v̇e|e = Cebfb − 2[ω ie × ve] + [g − ω ie × [ω ie × re]],
(154)
and defining the total gravity acceleration as
gt = [g − ω ie × [ω ie × re]],
(155)
then by definition of the perturbation
˜ee − v̇ ee
δ v̇ = v̇
e
= [C̃ b f˜b − Cebfb] − [2ω̃ eie ×ṽ ee −2ω eie × vee] + [g̃ t − g t].
(156)
e
˜e is the evaluated velocity vector and v̇ ee is the true velocity vector. The evaluated
where v̇
e
transformation matrix C̃ b , is the true transformation matrix C eb, misaligned by the misalignment
angles δψ. The misalignment is represented in skew-symmetric form [δψ×]. Hence
e
C̃ b = [I3×3 − [δψ×]]C eb,
(157)
δ v̇ = C ebf˜b − C ebf b − [δψ×]C ebf˜b − δ[2ω eie × v ee] + δg t.
(158)
thus
Navigation System Design
Eduardo Nebot
Slide 173
Error Models
If the errors in Coriolis and gravity terms are insignificant then
δ v̇ = C ebδf b − [δψ×]C ebf˜b
= C ebδf b − [δψ×]f˜e.
(159)
T
−[ψ×]f˜e = f˜e [δψ×],
(160)
T
δ v̇ = f˜e [δψ×] + C ebδf b
= [f˜e×]δψ + C ebδf b.
(161)
Now
hence
Thus the propagation of velocity errors in the Earth frame δ v̇ is equal to the acceleration error in the
Earth frame due to the misalignment of the frame [f˜e×]δψ, together with the errors associated with
the measurements of the acceleration δf b transformed over to the Earth frame via C eb. The errors in
the measurements of the acceleration are associated with the accelerometers and will be discussed
later in this section.
Navigation System Design
Eduardo Nebot
Slide 174
Error Models
Rearranging the attitude error Equation 157
e
[δψ×] = I3×3 − C̃ b C ebT ,
(162)
e
e eT
˙
˙
[δψ×] = −C̃ b Ċ b − C̃ b C ebT .
(163)
and differentiating gives
The updating process of the transformation matrix both for the true and evaluated frames are
e
e
e
˙
e e
Ċ b = C b Ωbe and C̃ b = C̃ b Ωebe.
(164)
Substituting into Equation 163 gives
e
e
˙
[δψ×]
= −C̃ b [C ebΩbbe]T − [C̃ b Ωbbe]C ebT
e
b
= −C̃ b [Ω̃be − Ωbbe]C ebT .
(165)
Perturbation of the rotation update matrix gives
b
δΩbbe = Ω̃be − Ωbbe,
(166)
e
˙
[δψ×]
= −C̃ b δΩbbeC ebT .
(167)
therefore
Navigation System Design
Eduardo Nebot
Slide 175
Error Models
Substituting Equation
e
C̃ b = [I3×3 − [δψ×]]C eb,
(168)
we have
˙
[δψ×]
= −[[I3×3 − δψ×]C eb]δΩebeC ebT
= −C ebδΩbbeC ebT + [δψ×]C ebδΩbbeC ebT .
(169)
The product of small terms δψ× and δΩ, is assumed zero. Therefore
˙
[δψ×]
= −C ebδΩbbeC ebT
= −C ebδΩbbeC be.
= −[C ebδω bbe×].
(170)
δω bbe = δω bib − C beδω eie.
(171)
The error form of Equation (gyro error)123 is
Navigation System Design
Eduardo Nebot
Slide 176
Error Models
Given that the rotation rate of the earth is known, thus δω eie = 0, then Equation 170 can be
rewritten as
˙
[δψ×]
= −C eb[δω bib×]
or
δ ψ̇ = −C ebδω bib.
(172)
That is, the propagation of attitude errors δ ψ̇ is simply the errors associated with the rotation rate
measurements δω bib, transformed over to the Earth frame via C eb. The errors associated with the
measurements are purely defined with the gyros and are discussed in the next section.
The propagation of the attitude errors is independent of position. Thus given the velocity and
attitude error propagation equations and an input trajectory, the error growth of the inertial system
can be determined.
The only terms which need to be determined are the errors in the acceleration measurement
δf b = [δfx, δfy , δfz ]T , and the errors in the rotation rate δω bib = [δωx, δωy , δωz ]T . These terms can
be experimentally evaluated. More detailed information in [4].
Navigation System Design
Eduardo Nebot
Slide 177
Calibration and Alignment of Inertial Measurement Units
Navigation System Design
Eduardo Nebot
Slide 178
Calibration and Alignment
The objective of calibration is to determine the biases in the accelerometers and gyros. This is
obtained by first determining the initial alignment of the inertial unit and hence in turn evaluating
the initial direction cosine matrix.
Alignment Techniques: If the accelerometer readings are known perfectly then the attitude of
the inertial unit can be determined by resolving the gravity component. In order to determine the
gravity component measured by the accelerometers, Equation 140 is rearranged to give
fb = (Cnb)−1fn
(173)
Since Cnb is orthogonal, its inverse is simply its transpose. The inertial unit is stationary and hence
the only acceleration measured is that due to gravity along the vertical axis. Thus
h
iT
fn = 0 0 −g .
Navigation System Design
Eduardo Nebot
Slide 179
(174)
Calibration and Alignment of and Inertial Measurement Unit
Using Equation 173 the acceleration measured in the body frame can be evaluated:





f
 xT

 fyT

fzT
βcγc
βcγs
−βs
0








 =  −θcγs + θsβsγc θcγc + θsβsγs θsβc   0 




θsγs + θcβsγc −θsγc + θcβsγs θcβc
−g
(175)
where the subscript T represents the true acceleration component due to gravity. Hence
fxT = g sin β
(176)
fyT = −g sin θ cos β
(177)
fzT = −g cos θ cos β
(178)
Rearranging Equation 181 to determine the pitch β, and substituting this into either Equations 182
or 183 will solve for roll θ. This procedure for determining alignment is called “coarse alignment”.
Navigation System Design
Eduardo Nebot
Slide 180
Calibration and Alignment of and Inertial Measurement Unit
If the accuracy provided by coarse alignment is not sufficient for navigation performance then
external alignment information will be required.
This information can come from tilt sensors or GNSS attitude information for example to
determine roll and pitch.
The heading of the vehicle γ can be determined with Gyrocompassing techniques. Once the
attitude of the unit is found, the reading on the gyros can be used to determine the components of
the Earth’s rotation, and by knowing the initial position of the vehicle, heading can be resolved.
However, with low cost gyros, gyrocompassing is generally not possible due to the high noise and low
resolution of these sensors. In such cases a compass is required to determine initial heading. The
compass can be very unreliable in the presence of large machines.
Navigation System Design
Eduardo Nebot
Slide 181
Alignment for Low Cost Inertial Units
For low accuracy inertial units, none of the common self aligning or calibration methods provide
results accurate enough for navigation.
Instead, the inertial unit uses two tilt sensors which provide measurements of the bank and elevation
of the inertial platform, thus providing the initial alignment information required. If the tilt sensor
are not available, the bank and elevation are evaluated with the accelerometer information.
A positive bank will cause the y-accelerometer to measure a component of gravity equal to
fyT = −g sin(bank)
(179)
Similarly a positive elevation will cause the x-accelerometer to measure
fxT = g sin(elevation)
Navigation System Design
Eduardo Nebot
(180)
Slide 182
Alignment for Low Cost Inertial Units
From the Cnb Transformation equation
fxT = g sin β
(181)
fyT = −g sin θ cos β
(182)
fzT = −g cos θ cos β
(183)
Equating Equation 181 with 180, and Equation 182 with 179, the pitch and roll angles are
β = elevation
sin(bank)
θ = sin−1(
)
cos β
To resolve the heading a compass is used.
(184)
(185)
Equations 184 and 185 are used along with the initial heading angle to determine the initial Cnb.
Navigation System Design
Eduardo Nebot
Slide 183
Calibration for Low Cost Inertial Units
The simplest method of obtaining the biases of the inertial sensors is to measure the readings from
each sensor whilst the vehicle is stationary. These bias values are used to calibrate the IMU.
For gyros, the bias is simply the reading from these sensors when the vehicle is stationary.
However, the alignment of the inertial unit is required in order to determine the biases on the
accelerometers. This is accomplished during the alignment stage since the “expected” acceleration
due to gravity can be determined and hence any anomalies in these values are attributed to bias.
Thus the bias on the x-accelerometer is obtained by;
bfx = fx − fxT
(186)
where fx is the measured acceleration and fxT is the expected acceleration obtained during the
alignment stage. The bias is obtained similarly for the remaining accelerometers. For more
information and experimental results the reader can see [3]
Navigation System Design
Eduardo Nebot
Slide 184
Position, Velocity and Attitude Algorithms
The Figure presents the tasks required to work with a full inertial measuring unit.
The bank, elevation and heading information is used to calibrate and align the unit while the vehicle
is stationary.
Once the initial transformation matrix Cbn(0) is obtained, it is updated at fast rates with the
gyroscope information to obtain Cbn(k).
This matrix is used to transform acceleration in the body coordinate frame to the navigation
coordinate frame. Then the single and double integration is performed to obtain inertial velocity and
position.
Bank
Elevation
Calibration
Algorithm
Cbn (0)
Heading
Acceleration in
Navigation frame
Inertial
Measurement
Unit
Gyros
(R,P,Y)
Ckbn ()
Integral
Integral
Acceleration
Ax,Ay,Az
Navigation System Design
Velocity x,y,z
Position x, y ,z
Acceleration
in body frame
Eduardo Nebot
Slide 185
Position, Velocity and Attitude Algorithms
Bank
Elevation
Calibration
Algorithm
Cbn (0)
Heading
Acceleration in
Navigation frame
Inertial
Measurement
Unit
Gyros
(R,P,Y)
Ckbn ()
Integral
Integral
Acceleration
Ax,Ay,Az
Navigation System Design
Velocity x,y,z
Position x, y ,z
Acceleration
in body frame
Eduardo Nebot
Slide 186
GPS/INS Integration
Navigation System Design
Eduardo Nebot
Slide 187
GPS/INS Integration
Inertial sensors have been used in numerous applications for the past 50 years. This technology
originally developed for military purposes has started to appear in industrial applications.
This has been possible due to the significant reduction in cost of inertial sensors. Low cost full six
degree of freedom inertial system are currently available for less than US 10,000.
Unfortunately this reduction of cost comes with a substantial reduction in quality. These units
without any aiding can only perform navigation for very short period of time.
The solution to this problem is aiding inertial systems with external information to maintain the
error within certain bonds.
The most common aiding sensor for outdoor application has been the GPS in all its forms (
Autonomous / Differential / RTK ). This section presents various navigation architectures that fuse
GPS, INS and modeling information in an optimal manner.
Navigation System Design
Eduardo Nebot
Slide 188
Navigation architectures for Aided Inertial Navigation Systems
The navigation architecture depends on the types of sensors and models employed. For aided inertial
navigation systems the inertial component can be:
• An Inertial Measurement Unit (IMU), which only provides the raw acceleration and rotation rate
data
• An Inertial Navigation System (INS) providing position, velocity and attitude information
The aiding source can be:
• A sensor providing raw sensor information
• A navigation system providing the position, velocity and/or attitude information
The principle states of interest which are estimated by the filter, and hence which governs the type of
model implemented, are the position, velocity and attitude of the vehicle, or the position, velocity
and attitude errors.
Navigation System Design
Eduardo Nebot
Slide 189
Navigation architectures for Aided Inertial Navigation Systems
The most natural implementation of an aided inertial navigation system is to drive a non-linear filter
with the raw acceleration and rotation rate data provided by the IMU, as shown in the Figure.
IMU
Acceleration and
Rotation Rates
Non-Linear Filter
External Aiding
Sensor
Position, Velocities and
Attitude Estimates
Observations
The implementation is known as a “direct” filter structure. The process model usually represents the
kinematic relationship of the vehicle and the states of interest. The state vector is propagated by the
model and inertial data. The aiding information can be obtained from a navigation system where
observations such as position and velocity are supplied to the system. The estimate would be in the
form of the vehicle states.
Navigation System Design
Eduardo Nebot
Slide 190
Navigation architectures for Aided Inertial Navigation Systems
Disadvantages of the Direct Filter Architecture:
• The prediction equations have to be evaluated at each sample of the inertial data. This requires
substantial processing due to the high sample rates of IMUs
• In general, high frequency maneuvers are usually filtered in the linear (or linearised) model. The
consequence of this omission is that the filter will unnecessarily attenuate the high frequency
information provided by the INS. With this approach the system may not be able to track fast
maneuvers.
IMU
Acceleration and
Rotation Rates
Non-Linear Filter
External Aiding
Sensor
Navigation System Design
Position, Velocities and
Attitude Estimates
Observations
Eduardo Nebot
Slide 191
Navigation architectures for Aided Inertial Navigation Systems
These problems are solved if an INS is employed so that a constant stream of vehicle state
information is available external to the filter.
To correct any errors, the filter estimates the errors in these states. The inertial information can still
be obtained even if no additional information is available. The Figure shows this implementation that
is known as the ‘‘indirect feedback” method.
Inertial
Navigation
System
Position, Velocity
and Attitude
+
-
Estimated Position,
Velocity and Attitudes
Estimated Errors of Position, Velocity
and Attitude
+
-
External Aiding
System
Navigation System Design
Observed
Errors
Linear Filter
Position,
Velocities and
Attitude
Estimates
Observations
Eduardo Nebot
Slide 192
Navigation architectures for Aided Inertial Navigation Systems
The observation which is delivered to the filter is the “observed error” of the inertial navigation
solution, that is, the difference between the inertial navigation solution and the navigation solution
provided by the aiding source.
In this implementation the inertial high frequency information is fed directly to the
output without attenuation while the Kalman Filter provides the low frequency correction to the
IMU.
Inertial
Navigation
System
Position, Velocity
and Attitude
+
-
Estimated Position,
Velocity and Attitudes
Estimated Errors of Position, Velocity
and Attitude
+
-
External Aiding
System
Navigation System Design
Observed
Errors
Linear Filter
Position,
Velocities and
Attitude
Estimates
Observations
Eduardo Nebot
Slide 193
Navigation architectures for Aided Inertial Navigation Systems
Since the observation is the observed error of the inertial navigation solution, and since the filter is
estimating the errors in the inertial navigation solution, then the process model has to be in the form
of an error model of the standard inertial navigation equations.
Thus the inertial navigation equations are linearised to form error equations. Since
the equations are linearised the filter implementation takes on a linear form. Although the prediction
stage is still implemented, it can run at the same rate as the sampling rate of the INS or at lesser
intervals.
Inertial
Navigation
System
Position, Velocity
and Attitude
+
-
Estimated Position,
Velocity and Attitudes
Estimated Errors of Position, Velocity
and Attitude
+
-
External Aiding
System
Navigation System Design
Observed
Errors
Linear Filter
Position,
Velocities and
Attitude
Estimates
Observations
Eduardo Nebot
Slide 194
Navigation architectures for Aided Inertial Navigation Systems
Disadvantage of the indirect feedback method The unbounded error growth of the INS
which causes an unbounded growth in the error observation delivered to the filter.
This poses a problem to the linear filter since only small errors are allowed due to the linearisation
process.
That is, large drift in the state values from the INS cause large observation errors being fed into the
filter and thus invalidating the assumptions held by the filter.
Inertial
Navigation
System
Position, Velocity
and Attitude
+
-
Estimated Position,
Velocity and Attitudes
Estimated Errors of Position, Velocity
and Attitude
+
-
External Aiding
System
Navigation System Design
Observed
Errors
Linear Filter
Position,
Velocities and
Attitude
Estimates
Observations
Eduardo Nebot
Slide 195
Navigation architectures for Aided Inertial Navigation Systems
The optimal implementation is illustrated in the Figure and is known as the “direct feedback”
method.
In this structure the estimated errors are fed back to the INS, thus minimising the growth of the
observed error that is delivered as an observation to the filter.
Estimated Errors of Position,
Velocity and Attitude
Inertial
Navigation
System
Position, Velocity
and Attitude
+
-
External Aiding
System
Navigation System Design
Observed
Error
Linear Filter
Position,
Velocities and
Attitude
Estimates
Observations
Eduardo Nebot
Slide 196
Linear, Direct Feedback Implementation
This navigation architecture is driven with observation errors formed with the predicted and observed
position and/or velocities.
This filter requires a model of the propagation of the errors. The model that described the inertial
error equations in the Earth frame is:
δ ṗ = δv
δ v̇ = [f˜e×]δψ + C ebδf b
(187)
(188)
˙
[δψ×]
= −C ebδω bib.
(189)
Ceb transforms vectors from the body frame to the Earth frame. As in the GNSS implementation, the
Earth frame is represented by North (N), East (E) and Down (D) vectors and hence for clarification
the transformation matrix is represented as Cnb.
Navigation System Design
Eduardo Nebot
Slide 197
Linear Direct Feedback Implementation
The navigation loop implements a linear Kalman filter. The state vector consists of the error states,
h
iT
x = δpN δpE δpD δvN δvE δvD δψN δψE δψD .
(190)
The process model is


0


0


0


0


F = 0


0


0


0

0
Navigation System Design
0 0 1 0 0
0
0
0 0 0 1 0
0
0
0 0 0 0 1
0
0
0 0 0 0 0
0
−fD
0 0 0 0 0 fD
0
0 0 0 0 0 −fE
fN
0 0 0 0 0
0
0
0 0 0 0 0
0
0
0 0 0 0 0
0
0
Eduardo Nebot
0


0 


0 


fE 


−fN 


0 


0 


0 

0
(191)
Slide 198
The system can be written in compact form:
  
 

ṙ
0 I 0
r
I 0 0 0
  
 
 3∗3
  
 

 v̇  =  0 0 an   v  +  0 Cbn 0
  
 

φ̇
0 0 0
φ
0
0 Cbn


0




  fa 


ωibb
ẋ = Fg x + Gw
(192)
This model can be extended to consider the biases and drift of the accelerometers and gyros.
A gyro error model presented here consists of a first order Markov process with correlation time τ
plus white noise ν:
θ̇ = −(1/τ )θ + νg
E[νg ] = 0,
E[νg νgT ] = Rg
(193)
The matrix Tg that takes into account the time constant for the three gyros is


−1/τx
0
0




Tg =  0
−1/τy
0 


0
0
−1/τz
Navigation System Design
Eduardo Nebot
(194)
Slide 199
Accelerometer Model
A standard error model for the accelerometers consists of a random constant component plus white
noise:
a = νa
E[νa] = 0,
E[νaνaT ] = Ra
(195)
The matrix Ta that models the accelerometer errors is:


0 0 0




Ta =  0 0 0 


0 0 0
Navigation System Design
Eduardo Nebot
(196)
Slide 200
Extended Model
Finally the augmented model that considers the new states has the following extended matrixes :


0


 Fg
Cbn


F =
0


 0 0 0 Ta

0 0 0 0
0


0 


Cbn 


0 

Tg
h
x=

0


0


G=0


0

0

0
0 0 0


Cbn 0 0 0 


0 Cbn 0 0 


0 0 I 0

0 0 0 I
(197)
i
ri vi Φi fgi ωibb
Where r,v and ψ are the errors in position, velocity and angle misalignments, and fgi and ωibb are the
errors in the accelerometers and gyros in the body frame.
Navigation System Design
Eduardo Nebot
Slide 201
Discrete Model
In this implementation the acceleration inputs are fed directly into the process model and hence
there is no control vector, u = 0.
The process model F comprises of time-varying terms but they can be consider constant over the
sampling interval.
3
2
F
Navigation System Design
=
6
6
6
6
6
6
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
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
−fD
fE
0
0
0
0
0
0
fD
0
−fN
0
0
0
0
0
0
−fE
fN
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
0
Eduardo Nebot
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(198)
Slide 202
Discrete Model
The state transition matrix can be evaluated as F(k) = exp(F∆t), where ∆t is the sampling time of
the inertial unit.
In the case of land vehicles, the dynamics are of a much lower frequency than the sampling frequency.
Hence over the sampling period F remains constant, hence
F(k) = exp(F∆t)
(F∆t)2
= I + F∆t +
+ ...
2!
The discretisation is only taken to the second term since any extra terms which are added to the final
state transition matrix are of negligible value.
Thus the state prediction is
x̂(k|k − 1) = F(k)x̂(k − 1|k − 1).
(199)
The advantage of using this model is that the implementation is linear and the model is independent
of the vehicle dynamics.
Navigation System Design
Eduardo Nebot
Slide 203
Filter Equations
Initially the inertial sensors are calibrated and all the errors are removed, thus x(1|0) is set to zero.
Thus the state prediction in the next cycle is also zero, and so forth. Therefore the state
prediction is always zero and no correction of the inertial errors occurs during the
prediction cycle.
The position, velocity and attitude information obtained from the navigation system is simply
the data from the INS since there are no predicted errors to correct it.
However, due to the drift in the INS solution, there is a corresponding growth in uncertainty in the
states and this is evaluated through the predicted covariance matrix is
P(k | k − 1) = F(k)P(k − 1 | k − 1)FT (k) + Q(k)
(200)
This is a 9 × 9 matrix representing the uncertainty in the inertial predicted errors.
Navigation System Design
Eduardo Nebot
Slide 204
Q(k) is the discrete process noise matrix also of dimension 9 × 9 and is evaluated using [2]
¤
1£
T
T
T
Q(k) =
F(k)G(k)Qc(k)G(k) F(k) + G(k)Qc(k)G(k) ∆t.
(201)
2
where Qc(k), which is the uncertainty in the process model over a period of time, is defined as


δ p̃ 0
0





Qc(k) =  0 δfb 0 
(202)
.


b
0 0 δωib
δ p̃ is the noise injected into the position error evaluation and its value is purely dependent on the
uncertainty in the evaluation of the position from the integration of velocity. The remaining error
terms in this matrix are the noise values on the sensor readings, that is, the errors in the body frame,
which can be obtained from manufacturer specifications or through experimentation. G(k) is


I
0
0
 3×3



n

.
(203)
G(k) =  0 Cb (k)
0



0
0
−Cnb(k)
Navigation System Design
Eduardo Nebot
Slide 205
Aiding in Direct Feedback Configurations
In a direct feedback structure, the model implemented in the filter is a linear error model representing
the errors in the vehicle states, generally position, velocity and attitude.
When an observation becomes available, the filter estimates the errors in these states.
Since the model is an error model of the inertial equations, the observation z(k) is the observed error
of the inertial navigation solution and not the observation delivered by the aiding sensor.
Thus if an aiding system (i.e GPS ) provides position and velocity data then the observation vector
becomes,

z(k) = 
Navigation System Design

zP (k)
zV (k)

=

Pinertial (k) − PGP S (k)
V
inertial
Eduardo Nebot
(k) − V
GP S

(204)
(k)
Slide 206
The Figure illustrates the observation structure [2].
The true acceleration, velocity and position of the vehicle have noise added to them to represent
measurements taken by the sensors.
The acceleration, as measured by the inertial navigation system, is integrated twice to obtain the
indicated velocity and position of the vehicle. The acceleration information is obtained by the
accelerometers and it is assumed that acceleration due to gravity has been compensated for.
wa
at
Inertial Unit
+
+
xi
vi
wv
vt
_
+
+
+
z2
vgps
wx
xt
_
+
_
xgps
_
z1
Navigation System Design
Eduardo Nebot
Slide 207
By defining the terms δP(k) and δV(k) as the position and velocity errors in the inertial data after
the integration process, the observation model becomes


inertial
GP S
P
(k) − P
(k)

z(k) = 
inertial
GP S
V
(k) − V
(k)

 
 

(PT (k) + δP(k)) − (PT (k) − vP (k))
δP(k)
v (k)
=
+ P

= 
(VT (k) + δV(k)) − (VT (k) − vV (k))
δV(k)
vV(k)
(205)
wa
at
Inertial Unit
+
+
xi
vi
wv
vt
_
+
+
+
z2
vgps
wx
xt
_
+
_
xgps
_
z1
Navigation System Design
Eduardo Nebot
Slide 208
Observation Model

z(k) = 

= 

P
inertial
(k) − P
GP S
(k)

Vinertial (k) − VGP S (k)
(PT (k) + δP(k)) − (PT (k) − vP (k))
(VT (k) + δV(k)) − (VT (k) − vV (k))


=

δP(k)
δV(k)

+

vP(k)

vV(k)
The observation is thus the error between the inertial indicated position and velocity and that of the
aiding sensor and the uncertainty in this observation is reflected by the noise of the aiding observation.
This offers another benefit in the direct feedback implementation and involves the tuning
implementation; the noise on the observation is the noise on the aiding sensor.
Thus once an inertial unit and process model is fixed then the process noise matrix Q(k) is also fixed,
and tuning the filter is solely based on the observation noise matrix R(k).
Navigation System Design
Eduardo Nebot
Slide 209
Filter Equations
The estimate of the error states at time k given all observations up to time k can then evaluated
using the standard kalman filter update equations:
x̂(k|k) = x̂(k|k − 1) + W(k)ν(k),
(206)
where W(k) is a gain matrix produced by the Kalman filter and ν(k) is the innovation vector.
ν(k) = z(k) − H(k)x̂(k|k − 1).
(207)
W(k) = P(k|k − 1)HT (k)S−1(k),
(208)
where S(k) is known as the innovation covariance and is obtained by
S(k) = H(k)P(k|k − 1)HT (k) + R(k).
(209)
Finally the covariance matrix is updated due to this observation:
P(k|k) = (I − W(k)H(k))P(k|k − 1)(I − W(k)H(k))T +
W(k)R(k)WT (k)
Navigation System Design
Eduardo Nebot
(210)
Slide 210
Filter Equations
Since the prediction of the error states x̂(k|k − 1) is always zero then the state estimate becomes
x̂(k|k) = W(k)z(k)
(211)
That is, the update is simply a weighted sum of the observations.
The updated position and velocity errors can now be used to correct the position and velocity of the
INS
Pinertial (k|k) = Pinertial (k|k − 1) − δp(k|k)
(212)
Vinertial (k|k) = Vinertial (k|k − 1) − δv(k|k)
(213)
Navigation System Design
Eduardo Nebot
Slide 211
Filter Equations
Finally the transformation matrix Cnb can also be updated with
Cnb(k|k) = [I3×3 + [δψ×]]Cnb(k|k − 1)
where

(214)

0
−δψD δψE




[δψ×] =  δψD
0
−δψN 


−δψE δψN
0
(215)
[δψ×] is in the navigation frame yet it is used to correct the Cnb matrix whose elements are defined in
the body frame. It is assumed that the misalignment errors are small and hence the errors associated
about the navigation frame are equal to those about the body frame. When large misalignments are
encountered, the linear assumptions held are not valid. [1] deals with such situations.
Navigation System Design
Eduardo Nebot
Slide 212
Real Time Implementation Issues
Navigation System Design
Eduardo Nebot
Slide 213
Real Time Implementation Issues
Filter Consistency and Fault Detection: Few methods to estimate the state of interest were
presented. In real time applications it is usually not possible to know the true value of the
state. This implies that here is no way of determining whether the filter is computing correct
estimates.
The only information available from the real world is the observation, and hence the only
form of measure for determining the behaviour of the filter is the difference between the observation
and the predicted observation, that is, the innovation equation.
ν(k) = z(k) − H(k)x(k)
The innovation has the property that it must be both unbiased and white, and have covariance S(k)
if the filter is operating correctly. To determine whether this is the case, the innovation is normalised,
γ = ν T (k)S−1(k)ν(k).
Navigation System Design
Eduardo Nebot
(216)
Slide 214
Real Time Implementation Issues
Filter Consistency and Fault Detection ...
If the filter assumptions are correct then the samples of γ are distributed as a χ2 distribution in m
degrees of freedom (the number of observations being estimated). Instead of using Equation 217 as a
method of determining filter consistency, it can be used as a gating function.
γ = ν T (k)S−1(k)ν(k).
(217)
When an observation is obtained, Equation 217 is formed, and if the value γ is less than a predefined
threshold, then the observation is accepted. This allows for a means of detecting any faults within the
observation.
The threshold value is obtained from standard χ2 tables and is chosen based on the confidence level
required. Thus for example, a 95% confidence level, and for a state vector which includes three states
of position and three of velocity, then γ = 12.6.
Navigation System Design
Eduardo Nebot
Slide 215
Real Time Implementation Issues
High Frequency faults: These faults arise when the GNSS signals undergo multipath errors.
This results in a longer time delay of the signals affecting the fix of the Standard Differential receiver,
and also altering the phase of the signal thus affecting the Carrier Phase Differential fix.
Another high frequency fault is when the receiver utilises a different set of satellites in order to
determine the position fix. The accuracy of the fix is dependent on the geometry of the observed
satellites. Changes in satellite configuration due to blockages of the satellite view will in turn alter
the resulting fix.
Both forms of high frequency faults cause abrupt jumps in the position and velocity fixes
obtained by the GNSS receiver.
High frequency faults are therefore environment dependent. An open area such as a quarry will be
less likely to produce multipath errors than will a container terminal for example.
Consequently, the tuning of the filter which fuses the inertial unit and GNSS data is dependent on
the environment.
Navigation System Design
Eduardo Nebot
Slide 216
High Frequency Faults
The most common method of rejecting multipath errors is obtained when the receiver can
distinguish between the true signal and the reflected signal.
How well the receiver can distinguish between these two signals is dependent on the accuracy of the
receiver’s internal timing procedures etc. There is also special electronic hardware and antenna
designs to address multipath.
However, we cannot guarantee that the system will be able to reject multipath errors
completely, and even with the constant improvement of GNSS technology high frequency faults
such as multipath always need to be factored into the development of the navigation system.
Equation γ = ν T (k)S−1(k)ν(k) can be used to maintain filter consistency by evaluating a gating
function which has the property of being a χ2 distribution. Thus it can potentially determine if the
multipath errors have occurred.
Navigation System Design
Eduardo Nebot
Slide 217
High Frequency Faults
The GNSS fix in the vertical plane is significantly less accurate than that in the horizontal
plane. (This is due to the GPS Design specification )
Consequently the fix in North and East may lie well within the validation region, whilst that of Down
may exceed it and force the result of the gating function beyond the threshold if the same noise
values were used for all the terms in the observation noise matrix R(k). However, if these noise
terms are accounted for by taking the values from the GNSS receiver directly, than
the validation gate will detect multipath errors correctly.
Changes in satellite geometry cause the Dilution of Precision (DOP) to vary. These changes
occur when part of the sky is invisible to the receiver antenna due to obstacles blocking the GNSS
signals. Consequently, a change in DOP will affect the GNSS solution causing high frequency faults.
These faults can be detected using the same technique as discussed for multipath errors. However,
these changes are not as large as those encountered for multipath errors and generally go undetected,
unless the accuracy of the inertial unit is comparable to that of the GNSS receiver.
Navigation System Design
Eduardo Nebot
Slide 218
Filter Tuning
Navigation System Design
Eduardo Nebot
Slide 219
Filter Tuning
There are two stages in the filter flow:
• The prediction stage where the predicted inertial errors are always zero and the uncertainty grows
with time
• The estimation stage where the estimates of the inertial errors are obtained by a weighted sum of
the observations and the uncertainty is bounded
If no observation is obtained for an extended period of time, or if GNSS fixes are rejected due to
errors, the filter will cycle in prediction mode and no corrections to the navigation solution will be
made. ( The uncertain will keep growing !).
GPS
correction
Inertia
When a fix does occur, the observation may pass the gating function test even though the fix may be
in error since the uncertainty is the inertial navigation solution is large.
Navigation System Design
Eduardo Nebot
Slide 220
Filter Tuning
As with any Kalman filter implementation, tuning lies in the choice of values for the process Q(k)
and observation R(k) covariance matrices.
A large Q(k) will imply an inaccurate inertial system. During the prediction stage the uncertainty in
the inertial data will grow according to the magnitude of Q(k). When a GNSS fix does occur
there is a greater possibility the inertial unit will be corrected using the first available GNSS
fix, irrespective of the accuracy of this fix.
A small values in R(k) will imply accurate GNSS fixes which may pose a problem when the fix is in
error and is being fused with low accuracy inertial sensors.
Thus tuning becomes a delicate adjustment of both the Q(k) and R(k) matrices along with the
employment of the gating function in order to reject the high frequency faults of the GNSS.
Navigation System Design
Eduardo Nebot
Slide 221
Filter Tuning
The variances along the diagonal of R(k) are determined simply by obtaining the GDOP values from
the receiver and assuming there is no correlation between the fixes of the navigation axes (which is
how the GDOP is provided). This is obtained with the position fix
Determining the values for Q(k) depends on the noise level of the sensors implemented which can be
obtained from the manufacturer or through experimentation.
The principle tuning parameters which need to be addressed are the variances of velocity and
attitude. A large variance in the velocity terms will imply greater reliance on the GNSS velocity
fixes. Furthermore, the greater the accuracy of the velocity estimates, the greater the dampening on
the attitude errors.
If there are no attitude fixes then only the velocity information can contain the drift in attitude and
how quickly and accurately this can happen depends on the variance on the attitude.
Navigation System Design
Eduardo Nebot
Slide 222
Real Time Algorithm Issues
There are two points of concern in a real time implementation of an inertially aided GNSS navigation
system
• Processing power
• Data Latency
Data latency is extremely important, especially with the use of GNSS sensors, where it is common to
find position latencies in the order of tens of milliseconds and that of velocity reaching over a second.
Standard pseudorange solutions require the least computational processing. RTK technology requires
the most processing power. In addition if attitude information is required this also requires additional
processing.
When the latency of the solution is low the position information can be propagated using
velocity data and a constant velocity model. This is quite sufficient for low speed vehicles.
The problem is when latency of the GNNS is high, and the vehicle dynamics are fast. A GNSS
solution with a latency of 50ms will have an error of 0.8m for a vehicle traveling at 60km/hr.
Navigation System Design
Eduardo Nebot
Slide 223
Real Time Algorithm Issues
If the vehicle is moving with constant velocity and moving in a straight line then the position can be
simply propagated forward. However, any deviation from a straight line will lead to incorrect
estimates when the GNSS fix is fused with the current inertial state.
What is required is to store the inertial data and process the estimates at the time that the GNSS fix
should have occurred, and then propagate the inertial solution through the backlog of data.
Update
Pred 4
Pred5
Observation
Prediction 1
Navigation System Design
Prediction 2
Eduardo Nebot
Prediction 3
Slide 224
Real Time Algorithm Issues
Another problem is that in some cases position and velocity GNSS data do not have equal latencies.
This is the case when GNSS receiver provide velocity and position with independent measurements
then this requires alternative methods ( Uncorrelated ! )
For example, in RTK systems a doppler approach is used to obtain velocity while the determination
of the phase ambiguity is used for position measurement. In such systems the latency of the velocity
data can sometimes be over 1s, and hence the position and velocity determination occurs at different
points in time.
Some GNSS systems return position with time stamp to the proper position but the velocity
evaluated after integrating the doppler signal for a period of time. Obviously this velocity does not
correspond to the same time stamp.
Other GNSS manufacturers propagate the velocity through the position data and hence both the
position and velocity output occur at the same time with the same latencies. This approach produces
correlation between the position and velocity data, which is not ideal for navigation systems.
Navigation System Design
Eduardo Nebot
Slide 225
Hardware Issues
Land navigation usually does not require extremely high sampling of inertial measurement sensors
since the maximum rotation and acceleration frequencies are not high (with obvious consideration to
vibration).
The navigation functions required for the aided INS strapdown system are usually partitioned
between the fast guidance unit and the navigation processor, as shown in the Figure
INS
Platform
DGPS
Receiver
Gyro and
Accelerations
at 200Hz
Position and
Velocity at 10 Hz
Accelerations, 10 Hz
Fast Guidance
Unit
(Prediction)
Transformation Matrix, 10 Hz
Navigation
Unit
*Kalman
Filter
(Estimation)
Bias and Misalignment, Position
and Velocity Corrections
Position and Velocity
200Hz
Navigation System Design
Eduardo Nebot
Position and Velocity
10 Hz
Slide 226
Navigation Algorithm Implementation
1. Whilst the vehicle is stationary read in all acceleration, rotation rate and tilt sensor data from the
inertial unit and provide the average of these sensor readings.
2. Once the averaging process has been completed, perform calibration of the inertial unit to
determine biases and to obtain the initial Cnb matrix. At this stage the GPS position fix is used to
determine the initial Cng matrix.
3. The navigation system then proceeds onto the inertial navigation system with the initial position
as determined by the GPS receiver and the initial attitude as obtained from the alignment stage.
4. As the vehicle moves the acceleration and gyro values are read in and the biases removed,
Equation Cnb is updated, and the acceleration in the navigation frame is computed. These values
are then integrated to provide the position and heading of the vehicle.
5. If no GPS fix is available then return to Step 4 ( Continue in Prediction )
6. Use the gating function to determine if there are any high frequency faults. If high frequency faults
exist then only send out the current state values as determined by the inertial system and return
to Step 4. If the validation check has passed then fuse the GPS data.
Navigation System Design
Eduardo Nebot
Slide 227
Aiding Using Constraint: Vehicle Model
Navigation System Design
Eduardo Nebot
Slide 228
Aiding Using a Vehicle Model
In this section we present a new type of aiding information that does not come from external sensors.
This alternative method is based on the application of constraints on the inertial equations if the
motion of the vehicle is itself constrained in some way.
The method is presented for a land vehicle application but it is applicable to any system where the
presence of constrains can be used to bound the error growth of inertial units. The filter structure
illustrated in the Figure.
Vehicle
Constraints
IMU
Velocity
Observations
Acceleration and
Rotation Rates
Non-Linear
Kalman Filter
Position, Velocity and
Attitude Estimates
Navigation System Design
Eduardo Nebot
Slide 229
Aiding Using a Vehicle Model: Basic Idea
The general three dimensional inertial equations are derived from Newton’s laws and are thus
applicable to all forms of motion.
The inertial equations on board a train apply equally as well to an aerobatic aircraft. However, the
motion of the train is clearly different to that of the aircraft, in particular, the train is
constrained to move along the rails.
This fact can be used as a “virtual observation”, constraining the error growth along the lateral and
vertical directions.
The motion of a general land vehicle (under normal road conditions ) can also use constrained motion
equations. If the vehicle undergoes excessive slip or movement in the vertical direction off the ground,
then extra modelling is required, however, the use of constraints as virtual observations is still valid.
Navigation System Design
Eduardo Nebot
Slide 230
General Three-Dimensional Motion
Assume the vehicle motion can be described by the state equation,
ẋ = f(x,u)
(218)
¤T
£
¤T
£
where the vehicle state vector x = VTn , PTn , γ, β, θ , and the measurements u= fTb , ω Tb . Using
the kinematic relationship between ω b and the rates of changes of the Euler angles, and assuming that
the rate of rotation of the earth is negligible, the state equations for vehicle motion can be written as
V̇ n = Cnbfb
(219)
Ṗ n = Vn
(220)
ωy sin θ + ωz cos θ
cos β
β̇ = ωy cos θ − ωz sin θ
γ̇ =
(221)
(222)
θ̇ = ωx + (ωy sin θ + ωz cos θ) tan β
(223)
These equations enable the computation of the state x given x(0) and measurements fb and ω b. The
rate of error growth can be reduced if the velocity of the vehicle and the Euler angles β and θ can be
estimated directly. It will be shown that this is indeed possible for a vehicle moving on a surface.
Navigation System Design
Eduardo Nebot
Slide 231
Motion of a Vehicle on a Surface
Motion of a wheeled vehicle on a surface is governed by two non-holonomic constraints.
When the vehicle doesn’t jump off the ground and does not slide on the ground, the velocity of the
vehicle in the plane perpendicular to the forward direction (x-axis) is zero. Under ideal conditions,
there is no side slip along the direction of the rear axle (y-axis) and no motion normal to the road
surface (z-axis), so the constraints are
Vy = 0
(224)
Vz = 0
(225)
We know that these constrain are violated under slide slip during cornering and vibrations caused by
the engine and suspension system. Additional models can be included to address these issues. As a
first approximation however, it is possible to model the constraint violations as follows:
Vy − ηy = 0
(226)
Vz − ηz = 0
(227)
where ηy and ηz are Gaussian, white noise sources with zero mean and variance σy2 and σz2. The
strength of the noise can be chosen to reflect the extent of the expected constraint violations.
Navigation System Design
Eduardo Nebot
Slide 232
Motion of a Vehicle on a Surface
We need to relate the velocities in the body frame Vb = [Vx, Vy , Vz ]T to Vn,
Vb = [Cnb]T Vn
it is possible to write constraint Equations
Vy − ηy = 0
(228)
Vz − ηz = 0
(229)
as a function of the vehicle state x and a noise vector w= [ηy , ηz ]T ,


 
η
V
 y  = M +  y ,
(230)
Vz
ηz


VN (sin θ sin β cos γ + cos θ sin γ) + VE (cos θ cos γ + sin θ sin β sin γ) + VD (sin θ cos β)


M=
VN (sin θ sin γ + cos θ sin β cos γ) + VE (cos θ sin β sin γ − sin θ cos γ) + VD (cos θ cos β)
The navigation frame implemented here is North (N), East (E) and Down (D). It is now required to
obtain the best estimate for the state vector x modeled by the state Equations 219-223 from a series
of measurements fb and ω b, subjected to the constraint Equation 230.
Navigation System Design
Eduardo Nebot
Slide 233
Estimation of the Vehicle State Subject to Constraints
The state equation, obtained by the discretisation of Equations 219-223, is
x̂(k|k − 1) = f(x̂(k − 1|k − 1), u(k)),
(231)
and the discrete time version of the constraint equation obtained from Equation 230
z(k) = H(x(k)) + v(k).
(232)
The estimation of the state vector x subjected to stochastic constraints can be done in the framework
of an extended Kalman filter.
The Equation 232 is treated as an observation where the “observation” at each time instant k
is in fact identical to zero. The Kalman filter algorithm proceeds recursively in three stages:
Prediction, Observation and Update.
Navigation System Design
Eduardo Nebot
Slide 234
Prediction: The state and covariances are predicted as follows
x̂(k|k − 1) = F(x̂(k − 1|k − 1), u(k)),
(233)
P(k|k − 1) = ∇Fx(k)P(k − 1|k − 1)∇FTx (k) + Q(k).
(234)
The term ∇Fx(k) is the Jacobian of the current non-linear state transition matrix F(k) with respect
to the predicted state x(k|k − 1).
Observation: Following the prediction, it is assumed that an observation z(k) that is identical to
zero is made. An innovation is then calculated as follows
ν(k) = z(k) − ẑ(k|k − 1)
(235)
where z(k) is in fact set to zero. An associated innovation covariance is computed using
S(k) = ∇Hx(k)P(k|k − 1)∇HTx (k) + R(k)
Navigation System Design
Eduardo Nebot
(236)
Slide 235
Update: The state estimate and corresponding state estimate covariance are then updated
according to
x̂(k|k) = x̂(k|k − 1) + W(k)ν(k)
(237)
where ν(k) is the nonlinear innovation,
ν(k) = z(k) − H(x̂(k|k − 1)).
(238)
The gain and innovation covariance matrices are
W(k) = P(k|k − 1)∇HTx (k)S−1(k)
(239)
where the term ∇Hx(k) is the Jacobian of the current observation model with respect to the
estimated state x(k|k).
The updated covariance matrix is
P(k|k) = (I − W(k)∇Hx(k))P(k|k − 1)(I − W(k)∇Hx(k))T +
W(k)R(k)W(k).
Navigation System Design
Eduardo Nebot
(240)
Slide 236
Observability of the States
Although the extended Kalman filter algorithm obtains estimates of the state x, not all of them are
observable. For example, the estimation of the vehicle position, Pn, requires direct integrations and
therefore is not observable. Intuitively, forward velocity is the direct integral of the
measured forward acceleration during motion along straight lines, therefore is not observable.
Clearly an analysis is required to establish the conditions for observability.
Equations to relate the vehicle motion to the measurements from the inertial unit:
V̇f − fx + g sin β = 0,
(241)
Vf ωz − fy − g sin θ cos β = 0,
(242)
Vf ωy + fz + g cos θ cos β = 0.
(243)
Conclusions from the above equations:
• when the forward acceleration is zero the roll (θ) and pitch (β) can be directly computed from the
inertial measurements
• if one of the angular velocities ωy or ωz is not zero, the forward velocity can also be computed
directly
Navigation System Design
Eduardo Nebot
Slide 237
Experimental results using Constraints
POSITION
200
NORTH (m)
150
<−−−Constrained data
<−−−IMU/GPS
100
50
<−−−−−
0
Raw data
−50
−300
Navigation System Design
−250
−200
−150
−100
EAST (m)
Eduardo Nebot
−50
0
50
Slide 238
Multiple Aiding of an Inertial System
This section will discuss the aiding of an inertial unit with three forms of external observations:
• position and velocity derived from GPS
• speed from a drive shaft encoder vehicle model constraints
In this case we are incorporating all the information available into the filter. Furthermore, the
constraint algorithms contain the growth of the attitude error when there are no GPS fixes, thus
sustaining the accuracy of the inertial unit.
The speed information provided by the encoder data makes the forward velocity observable in all
conditions
A linear information filter is used with the inertial error model developed as a process model. A
direct feedback structure is implemented making the algorithm very efficient. It also allows for easy
and efficient process of asynchronous sensory information.
Navigation System Design
Eduardo Nebot
Slide 239
Multiple Aiding of an Inertial System
Estimated Errors of Position,
Velocity and Attitude
Position, Velocity
and Attitude
INS
+
Observed Error
+
-
GNSS
Observed Error
Position and
Velocity
Observations
Velocity
Observations
Navigation System Design
Eduardo Nebot
Kalman
Filter
Vehicle
constraints +
wheel encoder
Slide 240
Implementation of the INS Algorithm using the Information Filter
Prediction: The prediction stage is implemented using:
ŷ(k|k − 1) = L(k|k − 1)ŷ(k − 1|k − 1) + B(k)u(k),
(244)
where L(k|k − 1) = Y(k − 1|k − 1)F(k)Y−1(k − 1|k − 1).
and
Y(k|k − 1) = [F(k)Y−1(k − 1|k − 1)FT (k) + Q(k)]−1.
(245)
Observation: When an observation from the aiding sensor or constraint is made, the observation
vector generated is the observed error of the inertial system,
z(k) = zinertial (k) − zaiding (k).
Navigation System Design
Eduardo Nebot
Slide 241
Implementation of the INS Algorithm using the Information Filter
At each sampling of the inertial unit, a constraint observation is made, that is, Vy = 0 and Vz = 0.
The speed of the vehicle along the body x-axis which is obtained from the speed encoder Vx. This
observation, which is now in the body frame, is converted to the North (N), East (E), Down (D)
frame using Cnb. That is,


V (k)
 x


velocity
n
zV
(k) = Cb  Vy (k) 


Vz (k)

V (k) cos β cos γ
 x

=  Vx(k) cos β sin γ

−Vx(k) sin β
(246)



.

(247)
Thus the observation vector is
velocity
z(k) = zinertial
(k)
−
z
(k).
V
V
Navigation System Design
Eduardo Nebot
Slide 242
Implementation of the INS Algorithm using the Information Filter
The observation model is given by
Hvelocity
V
³
=
and the observation covariance matrix is
´
(248)
03×3 I3×3 03×3


σx2 0
Rvelocity
V
0




2
=  0 σy 0  .


0 0 σz2
(249)
Since the velocity vector is transformed from the body frame to the navigation frame, the observation
noise covariance needs to be transformed as well and is done so by
R̄
Navigation System Design
velocity
= CnbRvelocity CnbT
Eduardo Nebot
(250)
Slide 243
When the position and velocity are obtained from the GNSS receiver the observation vector is


inertial
GN SS
zP
(k) − zP
(k)

z(k) = 
(251)
inertial
GN SS
zV
(k) − zV
(k)
The observation model is

H
GN SS
and the observation noise matrix is
(k) = 

I3×3 03×3 03×3
03×3 I3×3 03×3
,
(252)








GN SS
R
(k) = 






σP2 N
0
0
0
0
0
0
σP2 E
0
0
0
0
0
0
σP2 D
0
0
0
0
0
0
0
0
σV2 N
0
0
0
0
σV2 E
0
0
0
0
0
0
σV2 D













(253)
where the individual variances are obtained from the GDOP values.
Navigation System Design
Eduardo Nebot
Slide 244
Update: Once the observations are formed, the information state vector is generated
i(k) = HT (k)R−1(k)z(k).
(254)
The amount of certainty associated with this observation is in the form of the information
observation matrix,
I(k) = HT (k)R−1(k)H(k)
(255)
The estimate then proceeds according to
ŷ(k|k) = ŷ(k|k − 1) + i(k)
(256)
Y(k|k) = Y(k|k − 1) + I(k).
(257)
and if there is more than one sensor at this time stamp:
ŷ(k|k) = ŷ(k|k − 1) +
X
ij (k)
X
Y(k|k) = Y(k|k − 1) +
Ij (k).
(258)
(259)
where j is the number of sensors providing information at time k.
Navigation System Design
Eduardo Nebot
Slide 245
Experimental Results using Multiple Information: Vehicle path
POSITION
300
250
NORTH (m)
200
150
100
50
0
−50
−100
Navigation System Design
0
100
200
300
EAST (m)
Eduardo Nebot
400
500
600
700
Slide 246
Experimental Results using Multiple Information: Velocity error
Velocity Error
1.4
North Error (m/s)
1.2
1
0.8
0.6
0.4
| Constrained Inertial
0.2
0
| Constrained + GPS
0
20
40
60
80
100
Time (s)
120
140
160
180
200
East Error (m/s)
2
1.5
1
0.5
| Constrained Inertial
0
0
20
Navigation System Design
40
60
80
100
Time (s)
120
Eduardo Nebot
140
160
| Constrained + GPS
180
200
Slide 247
Experimental Results using Multiple Information: Position error
Position Error
6
North Error (m)
5
| Constrained Inertial
4
3
2
| Constrained + GPS
1
0
0
20
40
60
80
100
Time (s)
120
140
160
180
200
35
East Error (m)
30
25
20
| Constrained Inertial
15
10
| Constrained + GPS
5
0
0
20
Navigation System Design
40
60
80
100
Time (s)
120
Eduardo Nebot
140
160
180
200
Slide 248
Tightly Coupled GPS/Ins
The methods discussed so far are also known as “loosely coupled” implementations since there is no
feedback to the aiding sensor/navigation system.
If feedback is provided to the aiding source a tighter configuration is obtained which in turn improves
system integrity. The Figure illustrates what is known as a “tightly coupled” configuration.
IMU
Acceleration and
Rotation Rates
Non-Linear Filter
External Aiding
Sensor
Position, Velocities and
Attitude Estimates
Raw Observations
Position, Velocity and
Attitude Estimates
Navigation System Design
Eduardo Nebot
Slide 249
Tightly Coupled GPS/INS: Advantages / Disadvantages
The loosely coupled configurations are highly modular in accuracy and cost. The system’s
designer can implement the model of choice along with the desired INS in whatever navigation
structure is preferred. Any aiding sensor can then be added to the navigation system. For
example one GPS range to a satellite can be incorporated.
Although the tightly coupled configuration is more robust than the loosely coupled configuration, it is
more expensive to implement and more difficult to develop.
Furthermore, if a different aiding sensor is employed, the models and algorithms must change
substantially.
Navigation System Design
Eduardo Nebot
Slide 250
Tightly Coupled GPS/INS: Advantages / Disadvantages
The majority of implementations have been loosely coupled. This is due to companies specialising in
inertial systems developing INS units with built in filtering techniques in a loosely coupled
configuration and in turn, GNSS companies focusing on delivering state of the art GNSS navigation
systems.
To implement a tightly coupled configuration requires close collaboration with GNSS companies,
since the aiding information from the navigation filter which is fed back to the GNSS sensor assists
with the satellite tracking algorithms.
These algorithms are kept secret since the speed of satellite reacquisition, the ability to locate and
track satellites after they have been lost, is what separates the quality of receivers between different
manufactures, and hence is a strong marketing tool.
Navigation System Design
Eduardo Nebot
Slide 251
REFERENCES
REFERENCES
References
[1] X. Kong. Development of a Non-Linear Psi-Angle Model for Large Misalignment Errors and its Application in INS Alignment and Calibration. In IEEE
International Conference on Robotics and Automation, pages 1430–1435, May 1999.
[2] P. Maybeck. Stochastic Models, Estimation and Control, volume 1. Academic Press, 1982.
[3] Durrant-Whyte H Nebot E. Initial Alignment and Calibration of Low Cost Inertial Navigation Units for Land Vehicle Applications. In Journal of Robotic
System, volume 16(2), pages 81–92, February 1999.
[4] Sukkarieh S. Aided Inertial Navigation Systems for Autonomous Land Vehicles. PhD thesis, Department of Mechanical and Mechatronic Engineering,
University of Sydney, 2000.
Navigation System Design
Eduardo Nebot
Slide 251
Download