SLAM con filtro particellare.
Problema della dimensione: molte particelle e l’algoritmo scala in modo esponenziale.
Si può utilizzare però la fattorizzazione dei filtri Rao-Blackwellized: se un oracolo ci dice il path, la stima della locazione delle features è indipendente.
FastSLAM: Particelle per la posa, Gaussiane per le features.
Mantiene più ipotesi sulle associazioni di dati (più robusto); non linearità; full SLAM & online SLAM trattati in modo uniforme.
Rappresentano belief con insiemi di campioni.
Stima di processi non-Gaussiani, nonlineari.
Principio di Sampling Importance Resampling (SIR):
Applicazioni tipiche sono: tracking, localization, etc.
Un filtro particellare può essere usato per risolvere entrambi i problemi
Localizzazione: spazio di stato < x, y, θ>
SLAM: spazio di stato < x, y, θ, map>
Problema: il numero di particelle necessario per rappresentare il posterior cresce esponenzialmente con la dimensione dello spazio di stato.
Esiste una dipendenza tra le dimensioni dello spazio di stato?
Se è così, possiamo usare le dependenze per risolvere il problema con più efficienza?
Nel contesto dello SLAM:
Questa fattorizzazione anche chiamata Rao-Blackwellization.
Dato che il secondo termine può essere calcolato efficientemente il particle filtering diventa possibile.
Rao-Blackwellized particle filtering basato su landmarks [Montemerlo et al., 2002].
Ogni landmark rappresentato da un 2×2 Extended Kalman Filter (EKF).
Ogni particella deve mantenere M EKFs.
Ogni particella mantiene M EKF
Per M volte:
Ricampionamento: ricampiona le M particelle.
Per ogni posa, campionamento dal modello probabilistico di moto:
Esempio, dal modello in velocità:
Particella aggiunta in un insieme di particelle.
Corrispondenze note n1, … , nt.
Se feature n osservata, allora update
Se feature n non osservata, stessa probabilità
Peso delle particelle e ricampionamento: le particelle non sono distribuite secondo il posterior, non è inclusa la misura.
Occorre il peso (considerando le corrispondenze):
Update particelle del robot basate su controllo ut-1 → Constant time per particella
Incorporare osservazioni zt nei filtri di Kalman → Log time per particella
Resampling del particle set →
N = Numero di particelle
M = Numero di features
I passi di update e di peso sono lineari nel numero delle particelle.
Il passo di resampling se naive allora lineare nel numero di feature.
Se ogni particella organizzata come albero binario di stimatori di feature allora log N.
Fino a 1000000 landmark.
Quali osservazioni appartengono a quale landmark?
Un SLAM robusto deve considerare possibli associazioni di dati.
Le possibili associazioni di dati dipendono anche dalla posa del robot.
Se la data association è basata su particelle.
Ogni particella ha la sua data association.
Prima si calcola la posa, quindi l’associazione.
Errori di posa del robot sono fattorizzati fuori dalle decisioni di associazioni data.
Due opzioni per l’associazione per-particle:
Se la probabilità è bassa, genera un nuovo landmark
FastSLAM fattorizza il posterior SLAM in problemi di stima a bassa dimensione.
Scala problemi con più di 1 milione di feature.
FastSLAM fattorizza l’incertezza della posa del robot separandola dal problema del data association.
Robusto a significative ambiguità nell’associazione dati.
Permette di ritardare decisioni di data association finchè non si ottiene evidenza non ambigua.
Complessità di O(N logM).
2. Robotica mobile - parte prima
3. Robotica mobile - parte seconda
4. Robotica Probabilistica - Filtri Bayesiani (parte prima)
5. Robotica Probabilistica - Filtri Bayesiani (parte seconda)
7. Modello Probabilistico dei Sensori
8. Robotica Probabilistica - Filtri Gaussiani
10. SLAM
11. Filtri Discreti
12. FastSLAM
13. SLAM grid-based
14. Esplorazione basata su guadagno di informazione