Lezione 23 — 07 Dicembre 23.1 Unscented Kalman filter

Transcript

Lezione 23 — 07 Dicembre 23.1 Unscented Kalman filter
PSC: Progettazione di sistemi di controllo
I Sem. 2010
Lezione 23 — 07 Dicembre
Docente: Luca Schenato
23.1
Stesore: Alberton R., Ausserer M., Barazzuol A.
Unscented Kalman filter
Si continua ora con l’unscented Kalman filter (UKF) visto nella lezione precedente. In
particolare, il filtro UKF si basa su un metodo per l’approssimazione di densità di probabilità
ottenute tramite l’applicazione di mappe non lineari a v.a. statiche. Questo metodo e’ poi
applicato in maniera iterativa per ottenere un’approssimazione in sistemi dimanici.
23.1.1
Trasformazioni nonlineari statiche di variabili aleatorie
Il procedimento dell’UKF consta di tre passaggi. Nel primo la variabile casuale x viene
approssimata da 2N + 1 punti vi pesati da dei pesi wi scelti in modo tale che media e
varianza coicidano con quelle originali di x. Nel secondo passo si mappano questi punti
attraverso la funzione non lineare g(x). Infine i punti mappati vengono approssimati con un
opportuna gaussiana.
Si ha:
px (·) ∼ N (x̄, Px )
y = g(x)
e si approssima la py con una gaussiana ottenendo:
py (·) ≃ N (ȳ, Py )
g(x)
λi u i
media pesata
vazianza
Figura 23.1. Procedimento dell’Unscented Kalman Filter
23-1
PSC
Lezione 23 — 07 Dicembre
I Sem. 2010
1. Da px (·) ∼ N (x̄, Px ) si generano 2N + 1 punti (dove x ∈ RN ) nel modo seguente:
• v0 = x̄
• v1 = x̄ + ασ1
• v2 = x̄ − ασ1
..
.
• v2N −1 = x̄ + ασN
• v2N = x̄ − ασN
dove α è un fattore di scala che viene imposto in modo che la media campionaria dei vi
risulti pari a x̄ e la varianza campionaria degli vi pari a Px . Il calcolo di α si comincia
fattorizzando la varianza di x Px = UDU T , con U = [u1 , . . . , uN ] una matrice di vettori
ui ortonormali e D la matrice diagonale


λ1


..
D=
≥0
.
λN
Si puó scrivere la Px nel modo seguente:
Px = UDU T
√
..

= u1 . . . uN 
=
√
λ1 u 1
 √
λ1
.
√
√
λN


..
.
√

λ1 uT1

√

..
...
λN u N 

√ . T
λN u N

uT1
  .. 
 . 

λ1
λN
uTN
= λ1 u1 uT1 + . . . + λN uN uTN .
√
P
T
Chiamando σi = λi ui (vedi vettore rosso in Figura 23.1) si ha che Px = N
i=1 σi σi .
La densitá di probabilitá di x puó essere approssimata nel modo seguente:
px (·) ≃
2N
X
i=0
wi δ(x − vi ) = p̂x (·)
con i pesi
w1 = w2 = . . . = w2N =
w0 = 1 −
2N
X
i=1
wi = 1 −
23-2
1
2(N + κ)
κ
N
=
.
N +κ
N +κ
PSC
Lezione 23 — 07 Dicembre
I Sem. 2010
Vengono ora calcolate la media e la varianza di x relative alla densitá di probablitá
approssimata:
Ep̂x [x] =
Z X
2N
xwi δ(x − vi )dx =
x i=0
V arp̂x (x) = Ep̂x [(x − x̄)(x − x̄)T ] =
=
Z X
2N
ξ i=0
2
=
2N
X
wi vi = x̄
i=0
Z X
2N
x i=0
α
N +κ
i=1
wi = x̄
i=0
(x − x̄)(x − x̄)T wi δ(x − vi )dx,
ξξ T wi δ(ξ + x̄ − vi )dξ =
N
X
2N
X
N
X
i=1
1
2α2 σi σiT
2(N + κ)
2
σi σiT =
α
Px
N +κ
avendo effettuato il cambio di variabili
ξ = x − x̄. Poiché si vuole imporre che
√
V arp̂x (x) = Px si determina α = N + κ.
2. Al secondo passo si devono mappare le vi usando la funzione non lineare g(·) ottenendo
cosı̀ yi = g(vi ) con i = 0, . . . , 2N. La densitá di probabilitá approssimata di y risulta
essere
2N
X
py (·) ≃
wi δ(y − yi ) = p̂y (·)
i=0
3. Al terzo passo si effettuano le seguenti approssimazioni:
p̂ˆy (·) = N (ȳ, Py ) ∼
= p̂y (·),
ȳ := Ep̂y [y] =
2N
X
wi y i
i=0
T
Py := V arp̂y (y) = Ep̂y [(y − ȳ)(y − ȳ) ] =
N
X
i=0
wi (y − ȳ)(y − ȳ)T ≥ 0
Tutti i tre passaggi precedenti dovrebbero garantire, almeno sotto opportune ipotesi,
che
p̂ˆy (·) ∼
= py (·) .
23.1.2
Filtro di Kalman Unscented
Fino ad ora si sono mappate densità di probabilità in densità di probabilità e le abbiamo
approssimate con delle gaussiane.
Px Pxy
x
µx
)
∼ N(
, T
Pxy Py
y
µy
23-3
PSC
Lezione 23 — 07 Dicembre
con
Pxy
= cov(x, y) ∼
=
N
X
i=1
x|y ∼ N (µx +
Pxy Py−1 (y
I Sem. 2010
wi (vi − x̄)(yi − ȳ)T
T
− µy ), Px − Pxy Py−1Pxy
)
Si cerca ora di applicare quanto visto al modello dinamico non lineare:
xk+1 = f (xk , uk , wk )
yk = h(xk , vk )
Non essendo necessariamente wk e vk gaussiani questi vengono approssimati nel modo seguente:
wk ∼ pw (·) ∼
= N (w̄, Pw )
vk ∼ pv (·) ∼
= N (v̄, Pv )
xk ∼
= N (x̂k|k , Pk|k )
xk ⊥ vk ⊥ wk
e dunque si può scrivere y = g(ξ) con



 

xk
x̂k|k
Pk|k 0 0
ξ = wk  ∼ N ( w̄  ,  0 Pw 0 ) ,
vk
v̄
0
0 Pv

x ∈ Rn




 y ∈ Rm
w ∈ Rp


 v ∈ Rq


ξ ∈ Rn+p+q = RN
Si dovranno dunque generare 2N + 1 punti vi = 0, 1, . . . , 2N con i pesi
1
2(N + κ)
κ
.
w0 =
N +κ
wi =
i 6= 0
y
xy
x
E ora per calcolare x̂k+1|k+1 ho bisogno di x̂k+1|k , ŷk+1|k , Pk+1|k
, Pk+1|k
, Pk+1|k
, infatti:
xy
y
x̂k+1|k+1 = x̂k+1|k − Pk+1|k
(Pk+1|k
)−1 (yk+1 − ŷk+1|k )
23-4
(23.1)
PSC
Lezione 23 — 07 Dicembre
I Sem. 2010
e calcolando:
x̂k+1|k =
2N
X
wi f (vix , uxk , wiw )
x
Pk+1|k
=
2N
X
wi (f (vix , uk , wiw ) − x̂k+1|k )(f (vix , uk , wiw ) − x̂k+1|k )T
i=0
ŷk+1|k =
y
Pk+1|k
=
xy
Pk+1|k
=
i=0
2N
X
i=0
2N
X
i=0
2N
X
i=0
wi h(x̂ik+1|k , viv )
i
i
wi (ŷk+1|k
− ŷk+1|k )(ŷk+1|k
− ŷk+1|k )T
i
− ŷk+1|k )T
wi (x̂ik+1|k − x̂k+1|k )(ŷk+1|k
si hanno tutti i termini necessari per implementare la (23.1).
Si noti come in questo caso non è necessario linearizzare ad ogni passo la matrice come
nel caso del filtro esteso e si approssimano distribuzioni piuttosto che non linearità. Inoltre
con questo metodo si ottiene una precisione del secondo ordine senza calcolare hessiani o
jacobiani. I pesi possono poi essere scelti in modo tale da catturare statistiche di ordine più
elevato.
Tuttavia nell’implementazione UKF si rende necessario diagonalizzare la matrice di varianza di ξ al variare di Pk|k . Per rendere meno oneroso questo calcolo si può usare la Squared
UKF (che utilizza la fattorizzazione di Cholesky), chiamando Q fattorizzazione di Cholesky
di P si può scrivere:
 
v1T
N
  X T
P = QQT = v1 . . . vN  ...  =
vi vi
T
i=0
vN
dove Q è triangolare e risulta numericamente più facile da calcolare rispetto alla diagonalizzazione di P tramite la decomposizione ai valori singolari (SVD).
23.2
Confronto tra UKF e EKF: esempio scalare
Si consideri la seguente mappa lineare, che mappa una v.a. gaussiana in un’altra v.a.:
y = x2 , x ∈ R, x ∼ N (x̄, σx2 )
23-5
PSC
Lezione 23 — 07 Dicembre
I Sem. 2010
py
px
g(.)=(.) 2
σx2
x
y
x
Figura 23.2. Procedimento del filtro UKF
Rappresentando x come x := x̄+ δx con δx ∼ N (0, σx2 ) si calcolano la media e la varianza
esatta di y:
ȳT = Ey [y] = Ex [x2 ] = Ex [(x̄ + δx)2 ]
= E[x̄2 + 2x̄δx + (δx)2 ]
= x̄2 + σx2
(σy2 )T = V ar(y) = E[(x2 − (x̄2 + σx2 )2 )2 ]
= E[4x̄2 (δx) + (δx)4 + σx4 + 4x̄(δx)3 − 4x̄σx2 δx − 2(δx)2 σx2 ]
= 4x̄2 σx2 + E[(δx)4 ] + σx4 − 2σx4
= 2σx4 + 4x̄2 σx2
dove nell’ultimo passaggio si è sfruttato il fatto che E[(δx)4 ] = 3σx4 . L’esempio prosegue
nella prossima lezione.
23-6
Bibliografia
[1] Giorgio Picci. Fitraggio Statistico (Wiener, Levinson, Kalman) e Applicazioni. Libreria
Progetto, 2006.
[2] J. Uhlmann S. Julier. A general method for approximating nonlinear transformations of
probability distributions. Technical report, University of Oxford, 1996.
[3] E. Wan R. van der Merwe. Sigma-point kalman filters for integrated navigation.
Proceedings of the 60th Annual of the Institute of Navigation, 2004.
[4] G. Oriolo P. Peliti T. Fiorenzani, C. Manes. Comparative study of unscented kalman
filter and extended kalman filter for position/attitude estimation in unmanned aerial
vehicles. Technical report, IASI CNR, 2002.
7

Documenti analoghi

Appunti di filtraggio non-lineare - Dipartimento di Ingegneria dell

Appunti di filtraggio non-lineare - Dipartimento di Ingegneria dell In secondo luogo si assume che le misure yt siano condizionatamente indipendenti dalla sequenza degli stati, vale a dire:

Dettagli

Lezione 26 — 11 Gennaio 26.1 Importance Sampling e Sequential

Lezione 26 — 11 Gennaio 26.1 Importance Sampling e Sequential particellari; molte volte non è possibile implementare degli algoritmi che possono generare campioni da una densità di probabilità generica e la tecnica dell’importance sampling risolve questo prob...

Dettagli

Temi d`esame di STATISTICA dell`AA 2003/2004 per allievi ING INF

Temi d`esame di STATISTICA dell`AA 2003/2004 per allievi ING INF ma non ricorda se il valore di θ sia 1 o 10. Pigro come pochi, genera un solo numero casuale x1 e vi chiede di aiutarlo a decidere fra l’ipotesi nulla H0 : θ = 1 e l’ipotesi alternativa H1 : θ = 10...

Dettagli

Politecnico di Milano Temi d`esame di STATISTICA dell`AA 2005

Politecnico di Milano Temi d`esame di STATISTICA dell`AA 2005 2(1 − 0.90) = 0.20. Concludiamo che a qualunque livello di significatività α ≤ 0.2, accettiamo l’ipotesi nulla che i dati provengano da un campione casuale. (Usando R si ottiene p-value = 0.459) 2...

Dettagli

errori.tex typeset - Studenti di Fisica

errori.tex typeset - Studenti di Fisica impostando un valore preciso di una grandezza su una scala, come ad esempio quando si imposta l’angolazione della sonda di Hall per mezzo del goniometro a essa associato. In questo caso non si trat...

Dettagli