IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 45, NO. 3, MARCH 2000 477
Technical Notes and Correspondence_______________________________
A New Method for the Nonlinear Transformation of Means
and Covariances in Filters and Estimators
Simon Julier, Jeffrey Uhlmann, and Hugh F. Durrant-Whyte
Abstract—This paper describes a new approach for generalizing the
Kalman filter to nonlinear systems. A set of samples are used to param-
eterize the mean and covariance of a (not necessarily Gaussian) proba-
bility distribution. The method yields a filter that is more accurate than
an extended Kalman filter (EKF) and easier to implement than an EKF or
a Gauss second-order filter. Its effectiveness is demonstrated using an ex-
ample.
Index Terms—Covariance matrices, estimation, filtering, missile detec-
tion and tracking, mobile robots, nonlinear filters, prediction methods.
I. INTRODUCTION
The problem of generalizing the Kalman filter paradigm for non-
linear applications is considered. This work is motivated by the well-
known limitations of the extended Kalman filter (EKF), which simply
linearizes all nonlinear models so that the traditional linear Kalman
filter can be applied. Although the EKF (in its many forms) is a widely
used filtering strategy [1], [2], over 30 years of experience with it has
led to a general consensus within the tracking and control community
that it is difficult to implement, difficult to tune, and only reliable for
systems that are almost linear on the time scale of the update intervals.
As is well known, the optimal solution to the nonlinear filtering
problem is infinite dimensional [3] and a large number of suboptimal
approaches havebeen developed[4],[5]. These methods can be broadly
classed as numerical Monte Carlo [6] methods or analytical approxi-
mations [7]–[9]. However, the application of these methods to high-di-
mensioned systems is rarely practical, and it is a testament to the con-
ceptual simplicity of the EKF that it is still widely used.
In this paper, a new linear estimator [10]–[12] is developed. It yields
performance equivalent to the Kalman filter for linear systems, yet gen-
eralizes elegantly to nonlinear systems without the linearization steps
required by the EKF. We show analytically that the expected perfor-
mance of the new approach is superior to that of the EKF and, in fact,
lies between those of the modified, truncated second-order filter [13]
and the Gaussian second-order filter[14]. However, the algorithm is not
restricted to Gaussian distributions. We demonstrate the performance
benefits in an example application, and we argue that the ease of im-
plementation and more accurate estimation features of the new filter
recommend its use over the EKF in virtually all applications.
II. B
ACKGROUND
We seek the minimum-mean-squared error (MMSE) estimate of the
state vector of the nonlinear discrete time system
x
(
k
+1)=
f
[
x
(
k
)
;
u
(
k
)
;
v
(
k
)
;k
]
Manuscript received November 16, 1994; revised December 1, 1995,
September 1, 1996, and June 1, 1998. Recommended by Associate Editor, V.
Solo.
S. Julier is with IDAK Industries, Jefferson City, MO USA (e-mail:
sjulier@idak.com).
J. Uhlmann is with the Robotics Research Group, Oxford University, U.K.
H. F. Durrant-Whyte is with the Department of Mechanical and Mechatronic
Engineering, Sydney, Australia (e-mail: hugh@mech.eng.usyd.edu.au).
Publisher Item Identifier S 0018-9286(00)02145-0.
z
(
k
)=
h
[
x
(
k
)
;
u
(
k
)
;k
]+
w
(
k
)
(1)
where
x
(
k
)
is the state of the system at timestep
k;
u
(
k
+1)
is the input
vector,
v
(
k
)
is the noise process caused by disturbances and modelling
errors,
z
(
k
)
is the observation vector, and
w
(
k
)
is additive measure-
ment noise. It is assumed that the noise vectors
v
(
k
)
and
w
(
k
)
are zero
mean and
E
[
v
(
i
)
v
T
(
j
)] =
ij
Q
(
i
)
E
[
w
(
i
)
w
T
(
j
)] =
ij
R
(
i
)
;
8
i; j
E
[
v
(
i
)
w
T
(
j
)] =
0
:
The MMSE estimate of
x
(
k
)
is the conditional mean. Let
^
x
(
i
j
j
)
be the mean of
x
(
i
)
conditioned on all of the observations up to and
including time
j
^
x
(
i
j
j
)=
E
[
x
(
i
)
j
Z
j
]
where
Z
j
=[
z
(1)
;
111
;
z
(
j
)]
:
The covariance of this estimate is de-
noted
P
(
i
j
j
)
:
The Kalman filter propagates the first two moments of the distri-
bution of
x
(
k
)
recursively and has a distinctive “predictor-corrector”
structure. Given an estimate
^
x
(
k
j
k
)
;
the filter first predicts what the
future state of the system will be using the process model. Ideally, the
predicted quantities are
^
x
(
k
+1
j
k
)=
E
[
f
[
x
(
k
)
;
u
(
k
)
;
v
(
k
)
;k
]
j
Z
k
]
P
(
k
+1
j
k
)=
E
[
f
x
(
k
+1)
0
^
x
(
k
+1
j
k
)
g
2f
x
(
k
+1)
0
^
x
(
k
+1
j
k
)
g
T
j
Z
k
]
:
The expectations can be calculated only if the distribution of
x
(
k
)
conditioned on
Z
k
is known. In general, the distribution cannot be de-
scribed by a finite number of parameters and most practical systems
employ an approximation of some kind. It is conventionally assumed
that the distribution of
x
(
k
)
is Gaussian at any time
k:
Two justifica-
tions are made. First, only the mean and covariance need to be main-
tained. Second, given just the first two moments the Gaussian distribu-
tion is the entropy maximizing or least informative distribution [15].
The estimate at time
k
+1
is given through updating the prediction
by the linear update rule
^
x
(
k
+1
j
k
+1)=
^
x
(
k
+1
j
k
)+
W
(
k
+1)
(
k
+1)
P
(
k
+1
j
k
+1)=
P
(
k
+1
j
k
)
0
W
(
k
+1)
P
(
k
+1
j
k
)
1
W
T
(
k
+1)
(
k
+1)=
z
(
k
+1)
0
^
z
(
k
+1
j
k
)
W
(
k
+1)=
P
x
(
k
+1
j
k
)
P
0
1
(
k
+1
j
k
)
:
The EKF exploits the fact that the error in the prediction,
~
x
(
i
j
j
)=
x
(
i
)
0
^
x
(
i
j
j
)
;
can be attained by expanding (1) as a Taylor Series about
the estimate
^
x
(
k
j
k
)
:
Truncating this series at the first order yields the
approximate linear expression for the propagation of state errors as
~
x
(
k
+1
j
k
)
r
f
x
~
x
(
k
j
k
)+
r
f
v
v
(
k
)
where
r
f
x
is the Jacobian of
f
[
1
]
with respect to
x
(
k
)
;
and
r
f
v
is that
with respect to
v
(
k
)
:
Using this approximation, the state prediction
equations are
^
x
(
k
+1
j
k
)=
f
[
^
x
(
k
j
k
)
;
u
(
k
)
;
0
]
0018–9286/00$10.00 © 2000 IEEE