01.03.2013 Views

Lecture 19 - UKF[pdf] - CCAR

Lecture 19 - UKF[pdf] - CCAR

Lecture 19 - UKF[pdf] - CCAR

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!