Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
I corsi di Scienze Matematiche Fisiche e Naturali
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Alberto Finzi » 5.Robotica Probabilistica - Filtri Bayesiani (parte seconda)


Robotica Probabilistica: Azioni

  • Spesso il mondo è dinamico
    • Azioni (del robot o di altri agenti)
    • Tempo
  • Come introdurre queste azioni?
  • Azioni Tipiche: girare ruote, manipolare oggetti, etc.
  • Sensori imprecisi
  • Azioni aumentano l’incertezza

Interazione Robot-Ambiente


Modellare le Azioni

Per incorporare il risultato di una azione u nel “belief”, si usa un pdf condizionale

P(x|u,x’)

pdf eseguendo u cambia lo stato da x’ a x.

Esempio Transizioni di Stato

P(x|u,x’) con u = “chiudi la porta”:

Se la porta è aperta, “chiudi la porta” ha successo nel 90% dei casi.


Integrando Risultato Azioni

Continuo:

P(u|x)=\int P(x|u,x')P(x')dx'

Discreto:

P(x|u)=\sum P(x|u,x')P(x')

Esempio

P(closed|u)=\sum P(closed|u,x')P(x')

=P(closed|u,open)P(open)+P(closed|u, closed)P(closed)

=\frac 9{10}\frac 5 8 +\frac 1 1 *\frac 3 8 = \frac{15}{16}

P(open|u)=\sum P(open|u,x')P(x')

=P(open|u, open)P(open)+P(open, u, closed)P(closed)

=\frac 1{10}\frac 5 8 +\frac 0 1 *\frac  3 8 = \frac 1 {16}
=1-P(closed|u)

Stato del Robot

Stato: Tutte le variabili x salienti per l’evoluzione del sistema dinamico

  • Posa: Localizzazione e Orientazione rispetto ad un sistema di coordinate assoluto (include la configurazione nel caso di manipolatori).
  • Stato dinamico: Velocità del robot e delle sue componenti/giunti.
  • Locazione di Features degli oggetti nell’ambiente (landmarks).
  • Uno stato xt è completo se l’insieme delle variabili selezionate consente la migliore previsione.

Stato del Robot

Si lavora però con stato incompleto.

Assunzione Markoviana: la previsione migliore si può fare a partire dallo stato attuale (lo stato passato non aggiunge nulla).

Stato ibrido: variabili continue e discrete.
Tempo discreto: Xt+1, Xt

Filtro Bayesiano

Dati:
Flusso di osservazioni z e azioni u:

d_t=\{u_1, z_1, ..., u_t, z_t\}

Modello del sensore P(z|x).
Modello delle Azioni P(x|u,x’).
Prior probabilità dello stato del sistema P(x).

Desiderta

Stima dello stato X del sistema dinamico il posterior dello stato è il Belief:

Bel(x_t)=P(x_t|u_1, z_1, ..., u_t, z_t)

Filtro Bayesiano

Notazione

Osservazioni

z_{t1:t_2}=z_{t1}, z_{t1+1}, z_{t1+2},...,z_{t2}

Azioni

u_{t1:t_2}=u_{t1}, u_{t1+1}, u_{t1+2},...,u_{t2}

Assunzione di Markov

Assunzioni

  • Mondo statico
  • Rumore indipendente
  • Modello perfetto, non errori di approssimazione

Probabilità di misura

p(z_t|x_{0:t}, z_{1:t}, u_{1:t})=p(z_t|x_t)

Transizione di stato

p(x_t|x_{1:t}, z_{1:t}, u_{1:t})=p(x_t|x_{t-1}, u_t)

Indipendenza condizionata


Belief

Il robot deve dedurre la sua posizione dalle misure.

Si distingue stato reale e stato stimato

  • Bel(xt) = p(xt | z1:t , u1:t)

probablità di xt date le misure z1:t e le azioni u1:t.

  • Bel’(xt) = p(xt | z1:t-1 , u1:t)

predizione (stima dello stato prima dell’ultima osservazione).

  • Calcolo di Bel(xt) da Bel’(xt) è la correzione o aggiornamento di misura.

Filtro Bayesiano: derivazione

{Bel(x_t)=P(x_t|u_{1:t},z_{1:t})}

Bayes =\eta P(z_t|x_t, u_{1:t}, z_{1:t-1})P(x_t|u_{1:t}, z_{1:t-1})

Markov = \eta P (z_t|x_t)P(x_t|u_{1:t}, z_{1:t-1}})

Total prob. = \eta P(z_t|x_t)\int P(x_t|u_{1:t}, z_{1:t-1}, x_{t-1})P(x_{t-1}|u_{1:t}z_{1:t-1})dx_{t-1}

Markov = \eta P(z_t|x_t)\int P(x_t|u_{t}, x_{t-1})P(x_{t-1}|u_{1:t}z_{1:t-1})dx_{t-1}

Markov = \eta P(z_t|x_t)\int P(x_t|u_{t}, x_{t-1})P(x_{t-1}|u_{1:t}z_{1:t-1})dx_{t-1}
(Omissione di ut) = \eta P(z_t|x_t)\int P(x_t|u_t, x_{t-1})Bel (x_{t-1})dx_{t-1}

Filtro Bayesiano

Algoritmo per il calcolo del Belief: Filtro Bayesiano

Algoritmo ricorsivo: Bel(xt) calcolato da Bel(xt-1), ut, zt

for all xt

Bel' (x_t)=\int P(x_t|u_t, x_{t-1})Bel (x_{t-1})dx_{t-1}~~~\text{predizione}

Bel (x_t)=\eta P(z_t|x_t)Bel' (x_{t-1})~~~~~~~~~~~~~~~~~~~~~~\text{misura}

endFor
return Bel(xt)

Algoritmo

Bayes Filter Algorithm

Bel (x_t)=\eta P(z_t|x_t)\int P(x_t|u_t, x_{t-1})Bel (x_{t-1})dx_{t-1}

  1. Algoritmo Filtro_Bayes( Bel(x),d ):
  2. η=0
  3. If d perceptual data z then
  4. For all x do
  5. Bel'(n)=P(z|x)Bel(x)
  6. \eta=\eta+Bel'(x)
  7. For all x do
  8. Bel'(x)=\eta^{-1}Bel' (x)
  9. else if d action data item u then
  10. For all x do
  11. Bel' (x)=\int P(x|u,x')Bel (x')dx'
  12. Return Bel’(x)

Filtro Bayesiano

Per il calcolo:

  • occorre il Belif iniziale: Bel(x0);
  • se conosco prob 1 sullo stato iniziale (Delta Dirac);
  • se non conosco allora distribuzione uniforme sul dominio di x0;
  • altrimenti altra distribuzione.

Tipologia di Filtri Bayesiani

Bel (x_t)=\eta P(z_t|x_t)\int P(x_t|u_t, x_{t-1})Bel(x_{t-1})dx_{t-1}

  • Filtro di Kalman
  • Particle Filter
  • Hidden Markov Model
  • Dynamic Bayesian Network
  • Partially Observable Markov Decision Processes (POMDPs)

Tipologia di Filtri Bayesiani

Tutti i filtri richiedono:

  1. Belief iniziale: P(x0)
  2. Probabilità di misura: P(zt | xt)
  3. Transizione di stato: P(xt | ut, xt-1)

Assunzione Markoviana

Violazione dell’assunzione markoviana

  1. Dinamiche non modellate dell’ambiente.
  2. Modello probabilistico non accurato.
  3. Rappresentazione probabilistiche approssimate.
  4. Variabili di controllo con influenze multiple.

Però l’assunzione markoviana è robusta.

Filtri Bayesiani: Problema di Localizzazione e Mapping

Localizzazione: P(Xt | M, u1:t, z1:t)

Stima della posizione data la Mappa

Mapping: P(Mt | Xt, u1:t, z1:t)

Sima della mappa data la posizione

SLAM: P(Xt, Mt | u1:t, z1:t)

Stima di mappa e posizione

Riassunto

  • La legge di Bayes permette di calcolare le probabilità condizionate inverse.
  • Data l’assunzione di Markov, si può combinare l’evidenza in modo efficiente con l’update recursivo Bayesian.
  • I Filtri Bayesiani permettono di stimare lo stato di un sistema dinamico.
  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion