E’ uno dei problemi fondamentali in robotica mobile.
La mappa permette lo svolgimento dei task e la localizzazione.
Robot di successo si basano su mappe per localizzazione, path planning, activity planning etc…
Per i dati di sensing:
occorre calcorare la mappa più probabile
Abbiamo visto come stimare la posa di un veicolo per dati sensoriali e mappa.
Il mapping, però richiede la stima simultanea di posa e mappa.
Il problema generale è chiamato: simultaneous localization and mapping problem (SLAM).
Si considera prima il mapping assumendo di conoscere la posa del veicolo.
Interpretazione dei dati sensoriali
Stima delle locazioni
Dimensioni. Più grande è l’ambiente più difficilie è il probelma.
Rumore. Maggiore è il rumore di sensori ed attuatori più difficile è il problema.
Abiguità percettiva. Più frequentemente le posizioni sono simili più è difficile stabilire corrispondenze.
Cicli. I cicli sono difficili da mappare, l’errore odometrico accumulato può essere molto grande.
Introdotte da Moravec e Elfes nel 1985.
Rappresentano l’ambiente come una griglia (solitamente 2D).
Stima della probabilità che una locazione sia occupata da un ostacolo: P(mi=1), P(mi=0).
Assunzione
Occupazione di celle m[x,y] è indipendente
Le posizioni del robot sono note
Idea: ogni cella viene aggiornata usando un filtro di bayes binario:
Assunzione: mappa statica:
Update delle celle usando il modello di sensore inverso:
Oppure la rappresentazione log-odds:
Per ogni cella
hits(x,y)
: numero di casi in cui un beam è finito su <x,y>
misses(x,y)
: numero di casi in cui un beam è passato attraverso <x,y>
Valore di interesse: P(reflects(x,y))
Posa al tempo t:
Beam n di scan t:
Maximum range reading:
Beam riflesso da un oggetto:
Calcola i valori di m che massimizzano:
Assumendo un prior uniforme p(m) equivale a massimizzare (applic. della regola di Bayes):
dove
Numero di volte che un beam, non maximum range, finisce nella cella j (hits(j)).
Numero di volte che un beam passa per una cella j senza finirci (misses(j)).
Le celle mj si assumono independenti:
Se settiamo:
si ottiene:
Il calcolo della mappa più probabile equivale a contare quanto spesso una cella ha riflesso una misura e quanto spesso è stata intercettata.
Il modello counting determina quanto spesso una cella riflette un beam.
Il modello occupancy determina se una cella è occupata da un oggetto.
Anche se una cella è occupata da un oggetto la probabilità di riflessione dell’oggetto può essere molto bassa.
Le mappe occupancy grid sono un approccio popolare per la rappresentazione dell’ambiente di un robot mobile.
In questo approccio ogni cella è considerata indipendentemente dalle altre.
Contiene il posterior che l’area corrispondente nell’ambiente sia occupata.
La mappa occupancy grid può essere appresa efficientemente con approccio probabilistico.
Le mappe reflection sono un’alternativa.
Contengono, per ogni cella, la probabilità che un beam sia riflesso da questa cella.
Modello di sensore per calcolare il likelihood di misura, la procedura di conteggio porta alla mappa ottimale.
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