Lecture 19 - UKF[pdf] - CCAR
Lecture 19 - UKF[pdf] - CCAR
Lecture 19 - UKF[pdf] - CCAR
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Statistical Orbit Determination 2<br />
Monday, April 9, 2012<br />
<strong>Lecture</strong> <strong>19</strong><br />
April 9, 2012<br />
ASEN 6080, Spring 2012
Monday, April 9, 2012<br />
Unscented Kalman Filter<br />
(<strong>UKF</strong>)<br />
ASEN 6080, Spring 2012
•<br />
•<br />
•<br />
Limitations of Linear Filters<br />
Restricted to Gaussian noise distributions (i.e. distribution<br />
completely described by first two moments)<br />
•<br />
•<br />
•<br />
Monday, April 9, 2012<br />
EKF just linearizes non-linear models<br />
Unstable filter outside of linearity region<br />
Requires computation of Jacobians<br />
Linear Kalman Filter propagates mean & uncertainty linearly<br />
1st-order approximation → large errors when system is nonlinear<br />
ASEN 6080, Spring 2012
Monday, April 9, 2012<br />
Graphical Comparison of Linear & Non-Linear Sigma-<br />
Point Propagations<br />
Eric A. Wan and Rudolph van der Merwe, “The Unscented Kalman Filter for Nonlinear Estimation.”<br />
How can we better<br />
model statistics of nonlinear<br />
systems?<br />
One option:<br />
Unscented Kalman Filter<br />
ASEN 6080, Spring 2012
<strong>UKF</strong><br />
•<br />
Monday, April 9, 2012<br />
Basic principal: a set of discretely<br />
sampled points can be used to<br />
parameterize the mean &<br />
covariance of a system<br />
•<br />
Propagate a (weighted) random<br />
sample of points & recompute<br />
mean & uncertainty (Unscented<br />
Transform)<br />
Julier & Uhlmann,<br />
Oxford, <strong>19</strong>97<br />
(paper online)<br />
Mean &<br />
uncertainty<br />
captured precisely<br />
to 2 nd order<br />
Eric A. Wan and Rudolph van der Merwe, “The Unscented Kalman Filter for Nonlinear Estimation.”<br />
ASEN 6080, Spring 2012
Weights capture distribution statistics.<br />
We’ll talk more about this next week.<br />
HW 8 weights selected for Gaussian<br />
distribution.<br />
L = Number of States<br />
(2) Initialize the <strong>UKF</strong> given:<br />
P ˆ ,<br />
t!<br />
1 , X t!<br />
1<br />
Unscented Kalman Filter (2/4)<br />
R<br />
t<br />
W<br />
(1) Compute weights:<br />
m<br />
i<br />
W0 c<br />
W m<br />
0<br />
Inertial Measurements for Aerobraking Navigation (IMAN)<br />
( ! )<br />
= ! / L +<br />
2<br />
( + # ) + ( 1 $ " ! )<br />
= # / L<br />
+<br />
{ 2(<br />
L + ) } i 1,........,<br />
2L<br />
c<br />
= W = 1 / ! =<br />
i<br />
( L + ) ! L<br />
2<br />
$ = # "<br />
\hat{X} denotes estimated state, not state deviation<br />
at t = 0, \hat{X} = a priori X<br />
where:<br />
1 e ! 4<<br />
" < 1<br />
Doctoral Research Defense May 27, 2005<br />
MKJ-5<br />
Monday, April 9, 2012<br />
! = 3 - L<br />
Courtesy of 6 Moriba Jah<br />
(3) Compute Sigma Points (matrix) for t-1<br />
(4) Propagate Sigma Points through non-linear system<br />
note: this implies integrating 2L+1 state vectors at each time step (i.e. each column)<br />
( " )<br />
" t F u<br />
/ ! 1<br />
! 1 , ! 1<br />
= t<br />
t t<br />
( ! )<br />
" = L +<br />
! =<br />
#<br />
t!<br />
1<br />
2<br />
=<br />
“tuneable” parameters:<br />
λ is a scaling parameter<br />
α determines point spread about mean<br />
β incorporates a priori distribution knowledge<br />
[ X ˆ ˆ<br />
ˆ<br />
t!<br />
1 X t!<br />
1 + " Pt<br />
! 1 X t!<br />
1 ! " Pt<br />
! 1]<br />
L x ( 2L+<br />
1)<br />
sqrtm(P)<br />
repmat(X,1,6)<br />
to save time, don’t loop through integrator,<br />
integrate L(2L+1) state vector<br />
and<br />
L = 6<br />
χ = (6x13)
Unscented Kalman Filter (3/4)<br />
Inertial Measurements for Aerobraking Navigation (IMAN)<br />
(5) Perform a state and covariance time update<br />
X<br />
t<br />
=<br />
2L<br />
!<br />
i=<br />
0<br />
Doctoral Research Defense May 27, 2005<br />
MKJ-6<br />
Monday, April 9, 2012<br />
prediction of state &<br />
uncertainty includes<br />
process noise<br />
if system has no process<br />
noise, set Q = 0<br />
W<br />
m<br />
i<br />
#<br />
i,<br />
t / t"<br />
1<br />
( )( ) T<br />
2L<br />
c<br />
" Wi<br />
# i,<br />
t / t!<br />
1 ! X t # i,<br />
t / t 1 X t<br />
P t = Q +<br />
! !<br />
i=<br />
0<br />
where: Q is the process noise covariance<br />
(6) Re-compute Sigma Points to incorporate effects of process noise<br />
#<br />
=<br />
[ X t X t + " Pt<br />
X t ! " Pt<br />
] L x ( 2L<br />
1)<br />
t / t!<br />
1<br />
+<br />
(7) Compute the measurements associated with each Sigma Point vector and their weighted average<br />
Y "<br />
y<br />
/ ! 1 ( / ! 1 = t t G t t<br />
t<br />
=<br />
2L<br />
!<br />
i=<br />
0<br />
W<br />
m<br />
i<br />
Y<br />
Courtesy of 7 Moriba Jah<br />
)<br />
i,<br />
t / t"<br />
1<br />
\bar{X} = mean of weighted sigma points<br />
\bar{P} = covariance of weighted sigma points<br />
and
Unscented Kalman Filter (4/4)<br />
Inertial Measurements for Aerobraking Navigation (IMAN)<br />
(8) Compute the innovation and cross-correlation covariances<br />
( )( ) T<br />
2L<br />
c<br />
" Wi<br />
Yi,<br />
t / t!<br />
1 ! yt<br />
Yi,<br />
t / t 1 yt<br />
P yy = R +<br />
! !<br />
i=<br />
0<br />
( )( ) T<br />
2L<br />
c<br />
" Wi<br />
# i,<br />
t / t!<br />
1 ! X t Yi,<br />
t / t 1 yt<br />
P xy = ! !<br />
i=<br />
0<br />
(9) Compute the Kalman Gain, the best estimate of the state and the a posteriori state covariance<br />
t<br />
K<br />
t<br />
= PxyP<br />
yy<br />
t<br />
Doctoral Research Defense May 27, 2005<br />
MKJ-7<br />
Monday, April 9, 2012<br />
where: yt<br />
Measurement Update<br />
! 1<br />
( y y )<br />
X ˆ = X + K !<br />
P t = Pt<br />
!<br />
(10) Replace t with t-1 and return to (3) until all the observations have been processed.<br />
Courtesy of 8 Moriba Jah<br />
t<br />
K<br />
t<br />
t<br />
P<br />
yy<br />
K<br />
t<br />
T<br />
t<br />
are the observations<br />
and
•<br />
•<br />
•<br />
•<br />
•<br />
Important Points<br />
<strong>UKF</strong> ~ combination of a Monte Carlo and an EKF<br />
Suitable for any dynamic model<br />
No Gaussian noise requirements (<strong>UKF</strong> can be tuned)<br />
No Jacobians required<br />
Performance equivalent to linear Kalman filter for linear<br />
systems<br />
• 2nd order accuracy for all non-linear systems<br />
• 3rd order accuracy for Gaussian distributions<br />
Monday, April 9, 2012<br />
ASEN 6080, Spring 2012
Monday, April 9, 2012<br />
Scaled Unscented Transform<br />
ASEN 6080, Spring 2012
•<br />
•<br />
•<br />
<strong>UKF</strong> Review<br />
<strong>UKF</strong> is a non-linear sequential filter<br />
Unscented Kalman Filter (2/4)<br />
Uses Sigma-Points to propagate mean & covariance more<br />
accurately<br />
Inertial Measurements for Aerobraking Navigat<br />
•<br />
Monday, April 9, 2012<br />
W<br />
(1) Compute weights:<br />
Accurate to second-order<br />
What are α, β?<br />
m<br />
i<br />
W0 c<br />
W m<br />
0<br />
( ! )<br />
= ! / L +<br />
( ) ( 2<br />
+ # + 1 $ " ! )<br />
= # / L<br />
+<br />
{ 2(<br />
L + ) } i 1,........,<br />
2L<br />
c<br />
= W = 1 / ! =<br />
i<br />
( L + ) ! L<br />
$ = # "<br />
where:<br />
2 1 e ! 4<<br />
" < 1<br />
! = 3 - L<br />
( ! )<br />
" = L +<br />
! =<br />
2<br />
ASEN 6080, Spring 2012
t − 1) =<br />
•<br />
•<br />
Monday, April 9, 2012<br />
�<br />
ˆXt−1 ˆ Xt−1 + γ � Pt−1 ˆ Xt−1 − γ � � �<br />
1<br />
γ = Pt−1<br />
<strong>UKF</strong> Weights - Unscaled<br />
Sigma-points represent spread about<br />
mean:<br />
�<br />
1<br />
Weighting γ = requirement: 2L+1<br />
•<br />
•<br />
Sigma-points are not necessarily symmetrically<br />
distributed about mean<br />
•<br />
W<br />
Positive semi-definite P not guaranteed<br />
m i = W c W<br />
1<br />
>> 1<br />
i =<br />
m 0 =<br />
•<br />
2W m i<br />
�<br />
W<br />
i=0<br />
′ i =1<br />
W ′ i 1<br />
�<br />
Lx(2L+1)<br />
χ ′ i = ˆ Xi +<br />
�<br />
1<br />
2W ′ i<br />
Pi<br />
χi = χ0 + α(χi − χ0)<br />
W m′<br />
Solution: Scale sigma-point distribution<br />
Wi = W ′ i<br />
�<br />
Lx(2L<br />
ASEN 6080, Spring 2012
Scaled UT<br />
Julier & Uhlmann created a framework for controlling<br />
Sigma-point distance and preserving P.S.D. of covariance<br />
Monday, April 9, 2012<br />
2002 paper: Scaled Unscented Transform with α<br />
Preserves second-order χ accuracy<br />
′ i = ˆ �<br />
1<br />
Xi +<br />
•<br />
Unscaled UT<br />
χ ′ i = ˆ Xi +<br />
�<br />
1<br />
2W ′ i<br />
Pi<br />
χi = χ0 +<br />
� 1<br />
Pi<br />
χi 2Wi = χ0 +<br />
Scaled UT<br />
� 1<br />
χi = χ0 +<br />
2Wi<br />
2W ′ i<br />
� 1<br />
χi = χ0 + α(χi − χ0) (10)<br />
Pi<br />
Pi<br />
χi = ˆ Xi + α(χi − ˆ Xi)<br />
W m 0 =<br />
m′ W0 (9)<br />
2Wi<br />
Pi<br />
ASEN 6080, Spring 2012<br />
1<br />
+ (1 − )<br />
α2 α2
Scaled Weights α2 2L+1 �<br />
2L+1 �<br />
i=0<br />
�<br />
2L+1<br />
i=0<br />
•<br />
Monday, April 9, 2012<br />
χ ′ i = ˆ Xi +<br />
•<br />
University of Colorado, Boulder, CO, 80309<br />
Wi = W ′ i<br />
Determine new weights based on constraints:<br />
2L+1 �<br />
W ′ Wi =1 i =1<br />
(14)<br />
χi = χ0 + α(χi − χ0)<br />
i=0<br />
(12)<br />
W c 0 = W m 0 + (1 − α 2 + β) (13)<br />
W<br />
2L+1 �<br />
Wi =1<br />
′ i (χ ′ i − ¯ X)(χ ′ i − ¯ �<br />
X)=Pxx 1<br />
χi = χ0 + α(χi − χ0)<br />
χ<br />
(15)<br />
′ i = ˆ �<br />
1<br />
Xi +<br />
2W ′ Pi<br />
i<br />
�<br />
2L+1<br />
i=0<br />
2L+1<br />
i=0<br />
W c 0 = W m 0 + (1 − α 2 Wi =1 + β) (14)<br />
�<br />
2L+1<br />
i=0<br />
Wi(χi − ¯ X)(χi − ¯ X)=Pxx<br />
γ = √ L + λ<br />
W m i = W c W<br />
1<br />
i =<br />
2(L + λ)<br />
′ i (χ ′ i − ¯ X)(χ ′ i − ¯ X)=Pxx<br />
(15)<br />
2L+1 �<br />
Wi(χi − ¯ X)(χi − ¯ Wi =<br />
X)=Pxx<br />
W ′ i<br />
α2 W<br />
m′ W0 1<br />
+ (1 − )<br />
2 2 m m′ W0 1<br />
0 = + (1 − )<br />
α2 α2 �<br />
Wi(χi − ¯ X)(χi − ¯ α X)=Pxx<br />
2<br />
i=0<br />
χi = χ0 +<br />
i=0<br />
Results in scaled weights to describe sigma-point<br />
distribution:<br />
�<br />
1<br />
2W ′ i<br />
χ ′ χi =<br />
i = χ0 +<br />
ˆ Xi + α(χi − ˆ Xi) (1<br />
W m 0 =<br />
2W ′ i<br />
Pi<br />
2L+1 �<br />
W<br />
i=0<br />
′ i (χ ′ i − ¯ X)(χ ′ i − ¯ W<br />
X)=Pxx (16)<br />
m 0 = W m 0 ′ 1<br />
χi = χ0 + α(χi − χ0)<br />
m′<br />
+ (1 − )<br />
α2 α2 W0 1<br />
+ (1 − ) (1<br />
α2 α2 W m 0 =<br />
�<br />
α<br />
Wi = W ′ i<br />
1<br />
2W ′ i<br />
Pi<br />
α<br />
W = W ′ i<br />
Pi<br />
(16)<br />
ASEN 6080, Spring 2012<br />
(<br />
(1
•<br />
Pxx,t =<br />
=<br />
2L+1 �i=0<br />
i=0<br />
i=0<br />
Scaled UT<br />
With these scaled weights, the Scaled unscented transform is<br />
given by:<br />
χt = f(χt−1)<br />
2L+1 �<br />
χt<br />
ˆXt =<br />
f(χt−1)<br />
Covariance 2L+1 �<br />
Monday, April 9, 2012<br />
2L+1 �<br />
i=0<br />
•<br />
ˆXt =<br />
ˆXt =<br />
χt = f(χt−1)<br />
i=0<br />
2L+1<br />
�<br />
2L+1 �<br />
i=0<br />
Wiχt,i<br />
Wiχt,i<br />
Non-linear propagation of<br />
Sigma-points<br />
Wi(χt,i − i=0<br />
ˆ Xt)(χt,i − ˆ Xt) T + (1 − α 2 )(χt,0 − ˆ Xt)(χt,0 − ˆ Xt) T<br />
Wi(χt,i − ˆ Xt)(χt,i − ˆ Xt) T + (1 − α 2 ) ∗ (χt,0 − ˆ Xt)(χt,0 −<br />
Wi(χt,i − ˆ Xt)(χt,i − ˆ Xt) T + (1 − α 2 ) ∗ (χt,0 − ˆ Xt)(χt,0 −<br />
2<br />
Wiχt,i<br />
Mean<br />
1e-4 ≤ α ≤ 1 general guidelines for scaling to<br />
ensure P.S.D. covariance 2 & maintain 2nd-order<br />
accuracy<br />
ASEN 6080, Spring 2012
•<br />
Scaled Xt UT: f(Xt−1) = f(Xt−1) β ≈ f( (<br />
¯ Xt−1)+▽fδX + 1<br />
2 ▽2fδX 2 + 1<br />
3! ▽3 f(Xt−1) ≈ f(Xt−1)+▽fδX + ▽ fδX + ▽ fδX + ...<br />
2 3!<br />
¯Xt = E[Xt] =f( fδX<br />
¯ Xt−1)+ 1<br />
So that explains α, but what about β?<br />
Xt = f(Xt−1)<br />
Xt = f(Xt−1) (<br />
−1) ≈ f( • Approximate to get propagated state:<br />
¯ Xt−1)+▽fδX + 1<br />
2 ▽2fδX 2 + 1<br />
3! ▽3fδX 3 ▽f = + ... (<br />
∂f(Xt−1)<br />
▽f = ∂f(Xt−1)<br />
Pxx,t = E[(Xt −<br />
∂Xt−1<br />
¯ Xt)(Xt − ¯ Xt) T ]<br />
f(Xt−1) ≈ f( ¯ Xt−1)+▽fδX + 1<br />
≈ f( ¯ Xt−1)+▽fδX + 1<br />
2 ▽2fδX 2 + 1<br />
3! ▽3fδX 3 + ... (<br />
▽f = ∂f(Xt−1)<br />
δX = Xt−1 − (<br />
∂Xt−1<br />
¯ δX = Xt−1 −<br />
Xt−1<br />
¯ Xt−1<br />
•<br />
Monday, April 9, 2012<br />
▽f = ∂f(Xt−1)<br />
▽f =<br />
∂Xt−1<br />
∂f(Xt−1)<br />
mean:<br />
∂Xt−1<br />
¯Xt = E[Xt] =f( ¯ Xt−1)+ 1<br />
2 ▽2fPxx,t−1 + 1<br />
3! ▽3fE[δX 3 ]+<br />
∂Xt−1<br />
2 ▽2fδX 2 + 1<br />
3! ▽3fδX 3 + ...<br />
Take the expected value of the propagated state to get<br />
2 ▽2fPxx,t−1 + 1<br />
3! ▽3fE[δX 3 ]+...<br />
ASEN 6080, Spring 2012<br />
(
2 ▽2fPxx,t−1 + 1<br />
3! ▽3fE[δX 3 �<br />
W ]+...<br />
′ i (χ ′ i − ¯ X)(χ ′ i − ¯ X)=Pxx<br />
¯Xt = E[Xt] =f( ¯ Xt−1)+ 1<br />
¯Xt = E[Xt] =f( ¯ Xt−1)+ 1<br />
Scaled UT: Covariance<br />
i=0<br />
¯Xt = E[Xt] =f( ¯ Xt−1)+ 1<br />
•<br />
•<br />
2L+1<br />
2 ▽2fPxx,t−1 + 1<br />
3! ▽3fE[δX 3 ]+...<br />
�<br />
Wi(χi − ¯ X)(χi − ¯ X)=Pxx<br />
Pxx,t = E[(Xt − ¯ Xt)(Xt − ¯ Xt) T ]<br />
Compute covariance of propagated state:<br />
i=0<br />
Pxx,t = E[(Xt − ¯ Xt)(Xt − ¯ Xt) T ]<br />
χt = f(χt−1)<br />
Pxx,t = ▽fPxx,t−1(▽f) T + 1<br />
4 ▽2fE[δX 3 ](▽f) T + 1<br />
Pxx,t =<br />
Goal: Incorporate the higher order terms into:<br />
2L+1 �<br />
i=0<br />
2 ▽2fPxx,t−1 + 1<br />
3! ▽3fE[δX 3 ]+...<br />
Pxx,t = E[(Xt − ¯ Xt)(Xt − ¯ Xt) T ]<br />
Pxx,t = E[(Xt − ¯ Xt)(Xt − ¯ Xt) T ]<br />
,t = ▽fPxx,t(▽f) T + 1<br />
4 ▽2fE[δX 3 ](▽f) T + 1<br />
2 ▽fE[δX3 ](▽ 2 f) T<br />
+ 1<br />
2 ▽2 �<br />
f E[δX 4 ] − E[δX 2 Pxx,t] − E[Pxx,tδX 2 ]+P 2 �<br />
xx,t (▽ 2 f) T<br />
• Multiply expected value & substitute approximated<br />
terms:<br />
Monday, April 9, 2012<br />
2L+1 �<br />
ˆXt = Wiχt,i<br />
+ i=0<br />
1<br />
2 ▽fE[δX3 ](▽ 2 f) T<br />
+ 1<br />
2 ▽2 �<br />
f E[δX 4 ] − E[δX 2 Pxx,t−1] − E[Pxx,t−1δX 2 ]+P 2 �<br />
xx,t−1 (▽ 2 f) T<br />
4th order<br />
3! ▽3 fE[δX 4 ](▽f) T + ...<br />
+ 1<br />
3! ▽3 fE[δX 4 ](▽f) T + ...<br />
Wi(χt,i − ¯ Xt)(χt,i − ¯ Xt) T + (1 − α 2 )(χt,0 − ¯ Xt)(χt,0 − ¯ Xt) T<br />
17<br />
ASEN ASEN 6080, 6080, Spring Spring 2011 2012
•<br />
Monday, April 9, 2012<br />
Pxx,t =<br />
ˆXt = Wiχt,i<br />
i=0<br />
• Incorporate the higher order terms into:<br />
2L+1 �<br />
Wi(χt,i − ¯ Xt)(χt,i − ¯ Xt) T + (1 − α 2 )(χt,0 − ¯ Xt)(χt,0 − ¯ Xt) T<br />
δX = Xt−1 − ¯ 4 2<br />
+<br />
Xt−1<br />
1<br />
2 ▽2 �<br />
f E[δX 4 ] − E[δX 2 Pxx,t−1] − E[Pxx,t−1δX 2 ]+P 2 xx,t−1 xx,t−1 xx,t−1<br />
2<br />
�<br />
xx,t−1 (▽<br />
+ 1<br />
Scaled UT: Covariance<br />
•<br />
i=0<br />
3! ▽3 fE[δX 4 ](▽f) T + ...<br />
¯Xt = E[Xt] =f( ¯ Xt−1)+ 1<br />
Recall approximation for mean state:<br />
3! ▽3fE[δX 4 ](▽f) T + ...<br />
+ 1<br />
2<br />
2 ▽2fPxx,t−1 + 1<br />
χt,0 − ¯ Xt = 1<br />
2 ▽2fPxx,t−1 + 1<br />
3! ▽3fE[δX 3 ]+...<br />
Pxx,t = E[(Xt − ¯ Xt)(Xt − ¯ Xt) T Compute square of difference:<br />
]<br />
3! ▽3 fE[δX 3 ]+...<br />
Compute difference between sigma-point mean & approximated<br />
mean:<br />
χt,0 − ¯ Xt = 1<br />
2 ▽2fPxx,t−1 + 1<br />
3! ▽3fE[δX 3 ]+...<br />
•<br />
(χt,0 − ¯ Xt)(χt,0 − ¯ Xt) T = 1<br />
4 ▽2 fP 2 xx,t(▽ 2 f) T + ...<br />
(χt,0 − ¯ Xt)(χt,0 − ¯ Xt) T = 1<br />
Weighting the mean more strongly allows<br />
inclusion of higher-order terms<br />
3<br />
4 ▽2 fP 2 xx,t(▽ 2 f) T + ...<br />
3rd order<br />
3rd order<br />
ASEN 6080, Spring 2012
•<br />
Pxx,t =<br />
Pxx,t = E[(Xt − ¯ Xt)(Xt − ¯ Xt) T 2 3!<br />
]<br />
(χt,0 − ¯ Xt)(χt,0 − ¯ Xt) T = 1<br />
4 ▽2fP 2 xx,t(▽ 2 f) T Wi(χt,i −<br />
+ ... (<br />
¯ Xt)(χt,i − ¯ Xt) T + (1 + β − α 2 )(χt,0 − ¯ Xt)(χt,0 − ¯ Xt) T<br />
Add extra weight to mean sigma-point to include higher-order effects:<br />
,t = ▽fPxx,t(▽f)<br />
• Recall approximated covariance:<br />
T + 1<br />
4 ▽2fE[δX 3 ](▽f) T + 1<br />
2 ▽fE[δX3 ](▽ 2 f) T<br />
+ 1<br />
2 ▽2 �<br />
f E[δX 4 ] − E[δX 2 Pxx,t] − E[Pxx,tδX 2 ]+P 2 �<br />
xx,t (▽ 2 f) T<br />
Pxx,t = E[(Xt − ¯ Xt)(Xt − ¯ Xt) T ]<br />
2L+1 �<br />
Pxx,t = Wi(χt,i −<br />
i=0<br />
¯ Xt)(χt,i − ¯ Xt) T + (1 + β − α 2 )(χt,0 − ¯ Xt)(χt,0 − ¯ Xt) T<br />
2L+1 �<br />
Pxx,t = Wi(χt,i −<br />
i=0<br />
(<br />
¯ Xt)(χt,i − ¯ Xt) T + (1 + β − α 2 )(χt,0 − ¯ Xt)(χt,0 − ¯ Xt) T<br />
(1 − β) ?<br />
Pxx,t = ▽fPxx,t−1(▽f) T + 1<br />
4 ▽2fE[δX 3 ](▽f) T + 1<br />
2L+1 � 3<br />
•<br />
Monday, April 9, 2012<br />
�<br />
2L+1<br />
Scaled UT: Covariance<br />
i=0<br />
error<br />
Pxx,t =<br />
+ 1<br />
2 ▽2 f<br />
If X Gaussian:<br />
error →<br />
2 ▽fE[δX3 ](▽ 2 f) T<br />
�<br />
E[δX 4 ] − E[δX 2 Pxx,t−1] − E[Pxx,t−1δX 2 ]+P 2 �<br />
xx,t−1 (▽ 2 f) T<br />
(1 − β)<br />
i=0<br />
+ 1<br />
3! ▽3fE[δX 4 ](▽f) T E[δX<br />
+ ...<br />
4 ] = 3P 2 xx,t<br />
+ 1<br />
Wi(χt,i − ¯ Xt)(χt,i − ¯ Xt) T + (1 + β − α 2 )(χt,0 −<br />
3! ▽3fE[δX 4 ](▽f) T E[δX<br />
+ ...<br />
4 ] = 3P 2 xx,t<br />
(2 − β)▽ 2 fP 2 xx,t(▽ 2 f) T + 1<br />
(1 − β)<br />
(2 − β)▽ 2 fP 2 xx,t(▽ 2 f) T + 1<br />
3! ▽3 fE[δX 4 ](▽f) T<br />
Error minimized for β = 2 under Gaussian assumption<br />
ASEN 6080, Spring 2012<br />
3! ▽3fE[δX 4 ](▽f) T
Monday, April 9, 2012<br />
χ ′ i = χ0 +<br />
2W ′<br />
Pi<br />
(9)<br />
χi = χ0 + α(χi − χ0) (10)<br />
i<br />
W m 0 = λ<br />
�<br />
L + λ<br />
χi = χ0 + α(χi − χ0) (10)<br />
Scaled UT Summary<br />
χi = χ0 + α(χi •<br />
− χ0) W (10)<br />
Summary of Scaled UT:<br />
m′ Wm′ W 0 1<br />
0 + (1 − 1 ) (11)<br />
α2 + (1 − 2 α2 m′<br />
0 = 3α2 − L<br />
3α2 W c 0 = λ<br />
L + λ + (1 − α2 W<br />
+ β)<br />
m′<br />
0 = 3α2 − L<br />
3α2 χi = ˆ Xi + α(χi − ˆ Xi)<br />
W m W<br />
0 = m 0 =<br />
W m 0 =<br />
α<br />
m′ W0 1<br />
+ (1 − ) (11)<br />
α2 α2 W m 0 = λ<br />
W L + λ<br />
m 0 = λ<br />
L + λ<br />
Wi = W ′ Wi =<br />
i<br />
W ′ i<br />
α2 Wi = W ′ i<br />
α2 (12)<br />
W c 0 = W m′<br />
0 + (1 − α 2 + β) W (13)<br />
c 0 = λ<br />
L + λ + (1 − α2 W + β)<br />
4<br />
c 0 = λ<br />
L + λ + (1 − α2 + β)<br />
Note: these are the same weights we learned earlier<br />
W c 0 = W m 0 + (1 − α 2 + β) (13)<br />
2L+1<br />
α 2<br />
) (11)<br />
α2 (12)<br />
(12)<br />
W c 0 = W m 0 + (1 − α 2 + β) (13)<br />
What happens to Sigma-point scaling when α = 1?<br />
2L+1 �<br />
Wi =1 W (14)<br />
�<br />
Wi =1 (14)<br />
m 1<br />
i W =<br />
2(L + λ)<br />
m Wi = 1<br />
i =<br />
2(L + λ)<br />
W ′ i<br />
α2 2L+1<br />
i=0<br />
χ ′ i = ˆ Xi +<br />
W m 0 =<br />
m′ W0 1<br />
2W ′ i<br />
Pi<br />
W m i =<br />
1<br />
+ (1 − )<br />
α2 α2 1<br />
2(L + λ)<br />
ASEN 6080, Spring 2012
Monday, April 9, 2012<br />
Scaled UT Summary<br />
•<br />
Basic concept of the scaled UT is to control the<br />
distribution of Sigma-points χ about the mean:<br />
′ 1<br />
i = χ0 +<br />
Unscaled UT<br />
χ ′ i = ˆ Xi +<br />
�<br />
1<br />
2W ′ i<br />
�<br />
2W ′ i<br />
Pi<br />
χi = χ0 + α(χi − χ0)<br />
Pi<br />
W m 0 =<br />
m′ W0 Changing the distribution would violate the statistics<br />
1<br />
+ (1 − )<br />
α2 α2 Exercise: Show that χ′ = χ (L = 6)<br />
Wi = W ′ i<br />
α 2<br />
W c = W m + (1 − α 2 + β)<br />
W c 0 = L + λ + (1 − α 2 + β)<br />
W m 1<br />
i =<br />
Scaled 2(L UT + λ)<br />
(in our filters):<br />
χi = ˆ Xi + γ � χi = χ0 + α(χi − χ0) Pi (10)<br />
W m 0 =<br />
m′ W0 χ ′ i = ˆ Xi +<br />
�<br />
(9)<br />
0 1<br />
+ (1 − )<br />
4α2<br />
α2 1<br />
+ (1 − ) (11)<br />
α2 α2 1<br />
2W ′ i<br />
Pi<br />
χi = ˆ Xi + α(χi − ˆ Xi)<br />
W m 0 =<br />
W m′<br />
Wi = W ′ i<br />
2<br />
ASEN 6080, Spring 2012
ˆXt =<br />
2L+1 �<br />
Scaled UT: Exercise<br />
Wiχt,i Solution<br />
i=0<br />
ˆXi + α(χi − ˆ Xi) = ˆ Xi + γ � Pi<br />
Exercise: Show that χ′ = χ<br />
γ = √ L + λ = � L + α 2 (L + κ) − L + L = � L + α 2 (L +3− L) =α √ 3<br />
ˆXi + α(χi − ˆ Xi) = ˆ Xi + γ � Pi<br />
γ = √ L + λ = � L + α 2 (L + κ) − L + L = � L + α 2 (L +3− L) =α √ 3<br />
α(χi − ˆ Xi) =γ � Pi<br />
α(χi − ˆ Xi) =α � 3Pi<br />
γ = √ L + λ = � L + α 2 (L + κ) − L + L = � L + α 2 (L +3− L) =α √ 3<br />
Monday, April 9, 2012<br />
γ = √ L + λ = � L + α 2 (L + κ) − L + L = � L + α 2 (L +3− L) =α √ 3 (<br />
�<br />
�<br />
�<br />
�<br />
1<br />
2W ′ i<br />
1<br />
1<br />
2W ′ i<br />
2W ′ i<br />
Pi 1 =<br />
2W ′ i<br />
Pi =<br />
Pi =<br />
Pi =<br />
� 1<br />
� 1<br />
2α 2 Wi<br />
� 1<br />
� 1<br />
α(χi − ˆ Xi) =α � 3Pi<br />
2<br />
α(χi − ˆ Xi) =α � 3Pi<br />
α(χi − ˆ Xi) =γ � Pi<br />
2<br />
α(χi − ˆ Xi) =α � �<br />
2(L + λ)<br />
Pi =<br />
2α 3Pi<br />
2<br />
Pi<br />
�<br />
2(L + λ)<br />
Pi =<br />
2α = 2<br />
Pi =<br />
2α 2 Wi<br />
Pi =<br />
2α2Wi 2α2 χi = ˆ 1<br />
Xi +<br />
2W ′ χi = Pi<br />
i<br />
ˆ 1<br />
Xi +<br />
2W ′ Pi = χ<br />
i<br />
′ i<br />
Pi =<br />
2α2 χi =<br />
Wi<br />
ˆ Xi +<br />
�<br />
2(L + λ)<br />
Pi � =<br />
�<br />
�<br />
2(L + λ)<br />
2α2 Pi<br />
�<br />
1<br />
Pi =<br />
2W ′ i<br />
� 3α 2<br />
� 3α 2<br />
α 2 Pi = � 3Pi<br />
� 3α 2<br />
α 2 Pi = � 3Pi<br />
α 2 Pi = � 3Pi<br />
� 3α 2<br />
α 2 Pi = � 3Pi<br />
ASEN 6080, Spring 2012<br />
(<br />
(<br />
(
Monday, April 9, 2012<br />
Square-root <strong>UKF</strong><br />
ASEN 6080, Spring 2012
SR-<strong>UKF</strong><br />
• Introduced by van der Merwe and Wan, 2001<br />
–Paper on D2L<br />
• Improve <strong>UKF</strong> by making a square-root<br />
Monday, April 9, 2012<br />
formulation<br />
–Numerical stability<br />
–PSD covariance<br />
–Decrease computational burden if possible<br />
24<br />
ASEN 6080, Spring 2012
SR-<strong>UKF</strong><br />
<strong>UKF</strong><br />
Monday, April 9, 2012<br />
SR-<strong>UKF</strong><br />
25<br />
QR Decomposition<br />
Cholesky update<br />
- method for updating<br />
Cholesky factor<br />
without redoing the<br />
whole thing<br />
- in Matlab as function<br />
“cholupdate”<br />
ASEN 6080, Spring 2012
SR-<strong>UKF</strong><br />
Monday, April 9, 2012<br />
Conclusions:<br />
- same performance as <strong>UKF</strong><br />
- more numerically stable<br />
- ensure PSD covariance<br />
- same computational efficiency as and EKF<br />
which is better than a <strong>UKF</strong><br />
26<br />
Superior performance<br />
by <strong>UKF</strong>s vs EKF<br />
ASEN 6080, Spring 2012