You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/3874995

Fuzzy adaptive Kalman filtering for INS/GPS data fusion

Conference Paper · February 2000


DOI: 10.1109/ISIC.2000.882920 · Source: IEEE Xplore

CITATIONS READS

158 668

3 authors, including:

J. Z. Sasiadek
Carleton University
239 PUBLICATIONS 2,391 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Space robotics View project

Control of Surgical Robot using MPC with time delays. View project

All content following this page was uploaded by J. Z. Sasiadek on 07 October 2019.

The user has requested enhancement of the downloaded file.


Proceedings of the 15th IEEE International Symposium
on Intelligent Control (ISIC 2000)
Rio. Patras. GREECE 17-19JUIV
2000

FUZZY ADAPTIVE KALMAN FILTERING FOR INSIGPS


DATA FUSION

J.Z. SASIADEK*, Q. WANG** and M.B. ZEREMBA**

Dept. of Mechanical and Aerospace Eng., Carleton University, Ottawa. Ontario, Canada
E-mail :Jsas@.ccs.carleton.ca
* Depanement d’informatique, Universite du Quebec,Hull, Quebec, Canada

-
Abstract This paper presents a novel method for sensor fusion based on Adaptive Fuzzy Kalman
Filtering. The method is applied in fusing position signals from Global Positioning System (GPS)
and Inertial Navigation System (INS) for autonomous mobile vehicles. The presented method has
been validated in a 3-D environment and is of particular importance for guidance. navigation. and
control of flying vehicles. The Extended Kalman Filter (EKF) and the noise characteristics are
modified using the Fuzzy Logic Adaptive System, and compared with the performance of a
regular EKF. I t is demonstrated that the Fuzzy Adaptive Kalman Filter gives better results, in
terms of accuracy, than the EKF.

Key Words: Kalman filtering, fuzzy logic control, GPS/MS, navigation, sensor fusion.

1. INTRODUCTION Kalman filtering is a form of optimal estimation


characterized by recursive evaluation. using an
Navigation and guidance of an autonomous vehicle estimated internal model of the dynamics of the
require that the position and velocity of the vehicle system. The dynamic weighting of incoming evidence
must be determined. Global Positioning System (GPS) with ongoing expectation produces estimates of the
is a satellite-based navigation system equipped with state of the observed system (21. An extended Kalman
the receiver that provides the user with appropriate and filter (EKF) can be used to fuse measurements from
accurate positioning information anywhere on the GPS and INS. In this EKF scheme, the INS data are
globe [I]. However. several errors are associated with used as a reference trajectory, and GPS data are
the GPS measurement. It has superior long-term error applied to update and estimate the error states of the
performance, but poor short-term accuracy. For many trajectory.
vehicle navigation systems, GPS is insufficient as a The Kalman filter requires that all the plant dynamics
stand-alone positioning system. The integration of and noise processes are exactly known. and the noise
GPS and Inertial Navigation System (INS) is ideal for processes are zero mean white noise. If the theoretical
vehicle navigation systems. In general, short-term behavior of a filter and its actual behavior do not
accuracy of INS is good. but long-term accuracy is agree, divergence problems will occur. There are two
poor. In an ideal situation, the disadvantages of GPS kinds of divergence: apparent divergence and m e
and INS would be cancelled. If the GPS signal is divergence [3-4]. In the apparent divergence, the
interrupted, the INS enables the navigation system to actual estimate error covariance remains bounded. but
coast along until GPS signal is reestablished [I]. The it approaches a larger bound than the predicted error
requirements for accuracy, availability and robustness covariance. In the m e divergence. the actual
are therefore achieved. estimation covariance eventually becomes infinite.

0-7803-649 1-O/OO/$lO.OO 02000 IEEE - 181 -


The divergence due to modeling errors is critical in be computed [SI.The errors in the force measurements
Kalman filter applications. If the Kalman filter is made by accelerometers and the errors in the
provided with information that the process behaves a measurement of angular change in orientation with
certain way, whereas, in fact, it behaves a different respect to the inertial space made by gyroscopes are
way, the filter will continually try to fit a wrong two fundamental error sources which affect the error
process signal. When the measurement situation does behavior of an inertial system. The inertial system
not provide enough information to estimate all the error response related to position. velocity, and
state variables of the system. or, in other words. the orientation is divergent with time due to noise [ 6 ] .
computed estimation error matrix becomes There are biases associated with the accelerometers
unrealistically small and the filter disregards the and gyros. In order to correct the errors of INS. the
measurement, then the problem is panicularly severe. GPS measuremen& are used to estimate the inertial
Thus, in order to solve the divergence due to modeling system errors. compare them with the INS outputs.
errors. we can estimate unmodeled states. However, it and then obtain the corrected INS outputs. There is
adds to the complexity of the filter and one can never number of errors in GPS, such as ephemeris errors.
be sure that all the suspected unstable states are indeed propagation errors. selective availability, multi-path,
model states [3]. Another possibility is to add process and receiver noise. etc. By using differential GPS
noise. It makes sure that the Kalman filter is driven by (DGPS),most of the errors can be corrected. but the
white noise. and prevents the filter from disregarding multi-path and receiver noise cannot be eliminated.
new measurements. In this paper, a fuzzy logic
adaptive controller (FLAC) is used to adjust the
exponential weighting of a weighted EKF and prevent 3. WEIGHTED EKF
the Kalman filter from divergence. The funy logic
adaptive controller will continually adjust the noise Both GPS and INS measurement processes are
strengths in the filter’s internal model, and tune the nonlinear, therefore, linearization is necessary. An
filter as well as possible. The FLAC performance is extended Kalman filter is used to fuse the
evaluated by simulating the fuzzy adaptive extended measurements from the GPS and INS. To prevent
Kalman filtering scheme as shown in Figure 1. divergence by keeping the filter fTom discounting
measurements for large k. the exponential data
weighting [4] is used.
The models and implementation equations for the
weighted extended Kalman filter are:
Nonlinear dynamic model:

-
Pseudo-range
& 1
EKF where wh is process noise (Gaussian white noise). Q is
process noise covariance matrix.
Nonlinear measurement model:
zk = h ( x k , k ) + v k (2)
GPS FLAC

Fig. 1. Fuzzy adaptive extended Kalman filter. where vk is addictive white measurement noise. R is
measurement noise covariance matrix,

Let us set the model covariance matrices as


2. MEASUREMENT SYSTEM

The inertial navigation system (INS) consists of a


sensor package, which includes accelerometers and
gyros to measure accelerations and angular rates. By
using these signals as input, the attitude angle and
three-dimensional vectors of velocity and position can

- 182-
..

where a 2 1. and mamces Q and R are constant. For a In equation (9). the term z, - 2, = r is called residual
> I , as time k increases, R and Q decrease. so that the or innovation vector. It reflects the degree to which the
most recent measurement is given higher weighting. If model fits the data.
a = I , we obtain a regular EKF.
By defining the weighted covariance
P; - = P i a 2k 4. FUZZY LOGIC ADAPTIVE SYSTEM

It is assumed that both the process noise wk,and the


measurement noise vk are zero-mean white sequences
The Kalman gain can be computed as: with known covariances Q and R in the Kalman filter.
In general, no U priori reliable information of Q is
available. and some errors in GPS, such as multi-path
and selective availability errors, also make the R
changing in different situations. If the Kalman filter is
based on a complete and perfectly tuned model, the
residuals should be a zero-mean white noise process.
If the residuals are not white noise. this is an
The predicted state estimate is: indication of a poor design. and the filter does not
perform optimally [4], either diverging or converging
.- to a large bound. In practice. parameters may be
xk+I = f(i;,k) (7)
known only with some uncertainty, or, in order to
The predicted measurement is: reduce computational effort, we can choose to ignore
some errors. Sometimes those unmodeled errors will
become significant. One can readjust the assumed
noise strengths in the filter internal model, based on
the information obtained in real time from the
The updated estimation on the states can be computed measurements as they become available.
as: Consequently, the filter is continually "tuned. One
good way to verify whether the Kalman filter is
performing as designed is to monitor the residuals.
They can be used to adapt the filter. In fact. the
Computing the a prrori covariance matrix: residuals are the differences between actual
measurements and measurement predictions based on
the filter's internal model. A well-tuned filter is that
where 95% of the. autocorrelation function of
innovation series should fall within the i 2a boundary
[7]. If the filter diverges. the residuals will not be zero
mean and become larger.
The fuzzy logic is a knowledge-based system
operating on linguistic variables. The advantages of
By re-writing (IO) we obtain:
fuzzy logic with respect to more traditional adaptation
schemes are the simplicity of the approach and the
application of knowledge about the controlled system.
Pf+: =a?@,P:@'+Q (12)
In [8], fuzzy logic was used for on-line detection and
correction of divergence in a single-state Kalman
Computing the U posteriori covariance matrix gives
filter. There were three inputs and two outputs to the
fuzzy logic controller (FLC), and 24 rules were used.
Other examples of using fuzzy logic to adapt the
Kalman filter are discussed in [9-IO].The purpose of
our fuzzy logic adaptive controller (FLAC) in this
paper is to detect the bias in the measurements and
prevent divergence of the extended Kalman filter. The
The initial condition is:
filter has been applied in three axes, East (x). North
(y), and Altitude (z) individually. If a filter is
performing optimally, the residual (innovation) is a
Po"- =Po

183 -
zero-mean white noise process. The covariance of unstable. In this case. a large value of a is applied. and
residuals P, relates to Q and R. The covariance of the a is proportional to b,. A large a means that process
residual is given by: noises are added and we are giving more credibility to
the recent data by decreasing the noise covariance.
This ensures that all states in the model are sufficiently
excited by the process noise. Generally, R has more
impact on the covariance of residuals. When the
A Takagi - Sugeno fuzzy system is used to detect the covariance is extremely large and the mean takes
divergence of EKF and adapt the filter. values largely different from zero, there are
For the h c t i o n a l fuay system, we use singleton presumably problems with GPS measurements.
fuuification, and the if,, MIS0 (Multiple Input Single-. . . Therefore, the -filter cannot depend on these
Output) rule has the form measurements anymore, and a smaller a will be used.
By selecting an appropriate a. the fuzzy logic
I f u , i s A l a n d u 2 i s A \ and ...a n d u n isA!,, controller optimally adapts the Kalman filter and tries
to keep the innovation sequence act as a zero-mean
then bi = gi(.)
white noise.
where A! are fuzzy sets, and I = 1.2,...R.
XI* small large
In the fuzzy controller, the covariance of the residuals
and the mean of residuals are used as controller inputs
for all three fuzzy inference engines. The output is a
linear combinations of the input variable. covariance,
and then a is computed as the weighted average of the
output b, 0 (2.5)' (5)' P, /R [m']

Fig. 2. Covariance Membership Functions.

z""4"ll
The weights ,ul are computed as

,=I
Y 10 Mean [ ]

Fig. 3. Mean Value Membership Functions.

As an input to FLAC. the covariance of the residuals The presented fuzzy logic controller uses 9 rules, such
and mean values of residuals are used in order to as:
decide the degree of divergence. By choosing n to
provide statistical smoothing, the mean and covariance If the covariance of residuals is zero and the mean
value is zero, then b = -0.03.
of residuals are
If the covariance of residuals is small and the mean
value is zero. then b = a, fa, Iu.
If the covariance of residuals is small and the mean
value IS small, then b = ai ,)+a,lu.
If the covariance of residuals is small and the mean
- I
P, = - T r , r : value is large, then b = a,
n ,"-".I
where a,,, al.& al., and a,t are constants, as,,< a i , ,
The estimated value k,cm be compared with its and
theoretical value P, calculated from EKF. Generally,
when covariance j , is becoming larger than (20)
theoretical value P, and mean value ? is moving R
away from zero, the Kalman filter i s becoming

- 184-
5. SIMULATION RESULTS Table 3. Comparison of theoretical and actual error
variance (Z-axis).
MATLAB code has been used to simulate and test the
proposed method.
The state variables used in simulation are: Q R Theory Actual
5Q R 0.834 0.7 19
2Q 2R I . 106 1.015
The states are position and velocity errors of the INS
34 2R 1.227 1.06 1
East, North. Altitude, GPS and receiver clock related
range bias and range drift. The designed covariance of 5Q 4R 2.342 2.582
GPS measurement R is 5 [m']. The sample period is 1
second. Different Q and R were applied. During first
several steps, the FLAC is switched off. After the filter
is almost stable, the FLAC is turned on and tunes the
filter on line. The simulations (Table 1,2,3 and Fig.
4.5) show that the FLAC adjusts the filter well, and
the actual error covariance of the fuzzy logic controller
EKF almost agrees with the theoretical error
covariance. In this simulation, the designed parameters
are Q and R. The SQ, 2R etc. mean that the real-time
parameters are 5 and 2 times as large as the designed
Q and R. In Figures 4 and 5, the upper curves depict
the covariance of the theoretical EKF, and the lower
lines show the covariance of the fuzzy adaptive EKF.

Table I . Comparison of theoretical and actual error


variance (X-axis).

Time(s)

Fig. 4. Actual and theoretical covariance for 3 4 and


ZR

6. CONCLUSIONS

In this paper. a fuzzy adaptive extended Kalman filter


has been developed to detect and prevent the EKF
from divergence. By monitoring the residual
Table 2. Comparison of theoretical and actual error sequences. the FLAC can evaluate the performance of
variance (Y-axis). an EKF. If the filter does not perform well, it will
apply an appropriate weighting factor a to improve the
accuracy of an EKF.
Actual
2.554 2.234
74 2R 3.403 3.286
3Q 2R 3.769 3.1 12
5Q 4R 7.200 7.386

- 185-
13) Gelb. A., Applied Optimal Estimation. The MIT
Press, Boston, 1974.
[4] Lewis, F. L.. Optimal Estimation with an
Introduction to Stochastic Control Theory. John Wiley
& Sons, Inc., 1986.
[ 5 ] Jochen. P., Meyer-Hilberg. W., and Thomas.
Jacob. “High Accuracy Navigation and Landing
System using GPSIlMU System Integration”. Proc.
1994 IEEE Position Location and Navigation
Symposium. pp.298-305. 1994
[6] Kayton , M. and Fried, W. R., Avionics
Navigation Systems. John Wiley & Sons. Inc. 1997.
[7] Cooper, S. and Dunant-Whyte H., “A Kalman
Filter Model for GPS Navigation of Land Vehicles”,
Proc. 1994 IEEE Inf. Conf on Intelligent Robof and
Systems, pp. 157- 163. 1994
[8] Abdelnour, G.. Chand. S., Chiu. S.. and Kido T..
“On-line Detection & Correction of Kalman Filter
Time(s) Divergence by Fuzzy Logic”, 1993 American Control
Conf.. pp 1835-1 839.
Fig. 5 . Actual and theoretical covariance for 2Q [9] Sasiadek, J. and Wang, Q., “Sensor Fusion Based
and 3 R on Fuzzy Kalman Filtering for Autonomous Robot
Vehicle” 1999 IEEE Int. Conf. on Robotics and
Automation.
In the fuzzy logic controller, 9 rules are used, [IO] Jetto, L., Longhi, S. and Vitali, D., “Localization
therefore, little computational time is needed. When a of a Wheeled Mobile Robot by Sensor Data Fusion
designer lacks sufficient information to develop Based on a Fuzzy Logic Adapted Kalman Filter”,
complete models or the parameters will slowly change Control Engineering Practice, 7, 1999, pp. 763-77 1.
with time, the fuzzy controller can be used to adjust
the performance of EKF on-line, and it will remain
sensitive to parameter variations by “remembering”
most recent N data samples. FLC can be used to
navigate and guide autonomous vehicles or robots and
achieve a relatively accurate performance.
The fuzzy adaptive Kalman filtering has been
investigated for guidance and navigation of mobile
robots, especially for 3-D environment. The navigation
of flying robots requires fast and accurate on-line
control algorithms. The “classical” Extended Kalman
Filter requires high number of states for accurate
navigation and positioning and is unable to monitor
the parameters changing. The FLAC requires smaller
number of states for the same accuracy and therefore it
would need less computational effort. Alternatively.
the same number of states (as in the “classical” filter)
would allow for more accurate navigation.

REFERENCES

[l) Brown. R. G. and Hwang, P. Introduction to


Random Signals and Applied Kalman Filtering. John
Wiley & Sons, Inc., New York, 1992.
[2] Abide. Mongi A. and Gonzalei Rafael C. Datu
Fusion in Robotics and Machine Intelligence.
Academic Press, Inc.. 1992.

- 186-

View publication stats

You might also like