Modifiche recenti - Cerca:

Categorie

Pagine utente

Winzipedia

Uso dell'wiki

modifica il menu

03-1L5-MappeTopologiche

Robotica.03-1L5-MappeTopologiche Versioni

Mostra le modifiche minori - Mostra le modifiche

15/11/2006 ore 12:17 CET di Vincenzo - Correzione di una interpretazione dall'inglese sbagliata
Modificate le linee 52-55: da:
Possiamo classificare gli algoritmi di matching in 2 categorie distinte: '''''' e ''''''.

Gli algoritmi di tipo '''''' si occupano di dati raccolti da coppie di sensori nelle immediate vicinanze del robot, mentre quelli di tipo '''''' si occupano di estrarre da quelli invece raccolti da elementi distanti dal robot, un piccolo insieme di caratteristiche da poter inserire nella mappa.
a:
Possiamo classificare gli algoritmi di matching come '''''' o ''''''.

Gli algoritmi di tipo '''''' fanno corrispondere i singoli punti ricavati dai dati sensoriali con le ''feature'' della mappa, basandosi sulla minima distanza; quelli di tipo '''''' fanno corrispondere un intervallo di dati con un insieme di ''feature'', da confrontare con quelle esistenti nella mappa globale.
13/11/2006 ore 11:00 CET di Vincenzo - dittiometrica -> diktiometrica
Modificata la linea 78: da:
# '''Mappa dittiometrica''': rappresentazione nodi della mappa topologica in modo geometrico;
a:
# '''Mappa diktiometrica''': rappresentazione nodi della mappa topologica in modo geometrico;
04/11/2006 ore 12:13 CET di Vincenzo - Fine del merge
Modificate le linee 69-102: da:
''[da finire]''
a:
!! Angle histogram



!! L'eplorazione del robot e strategie di mapping




Le strategie che ci permettono di definire un luogo distintivo (e quindi un nodo) sono principalmente due:

# '''Mappa dittiometrica''': rappresentazione nodi della mappa topologica in modo geometrico;




La strategia che viene scelta dal robot per eseguire un percorso che colleghi due luoghi distintivi dipende dall'ambiente locale in cui si trova: a volte decide di rimanere in mezzo al corridoio, mantenendo una equidistanza dalle due pareti, altre volte invece decide di mantenere una certa distanza da una singola parete, oppure potrebbe muoversi verso un landmark remoto.














Durante l'esplorazione, il robot usa una ''exploration agenda'', nella quale sono contenute informazioni circa le migliori direzioni da intraprendere per esplorare la mappa. Tali direzioni sono di solito riferite ad un sistema di coordinate locale.

04/11/2006 ore 00:36 CET di Vincenzo - Seconda parte dell'intergrazione
Aggiunte le linee 28-67:
Infine un'assunzione fondamentale che viene fatta durante la costruzione di queste mappe: assumiamo che l'ambiente dai noi mappato sia '''statico''', o che '''cambi''' talmente '''lentamente''' da poter essere considerato come statico. Un ambiente dinamico renderebbe la mappa totalmente inutilizzabile.

!! Rappresentazione di una mappa


Esistono due principali tipi di rappresentazione:

# Rappresentazione '''geometrica''';
# Rappresentazione '''topologica'''.

!!! La rappresentazione geometrica



!!!La rappresentazione topologica



!! Map Matching



# Stima della posizione del robot;
# Aggiornamento della mappa.







Gli algoritmi di map matching cambiano a seconda della rappresentazione che stiamo utilizzando per la nostra mappa. Parliamo infatti di '''geometric map matching''' e '''topological map matching'''.

!!! Il geometric map matching



!!! Il topologic map matching

04/11/2006 ore 00:28 CET di Vincenzo - Prima parte della fusione del materiale di Alessandro Modica.
Modificate le linee 1-4: da:
!Lezione 3: la costruzione di mappe topologiche (L1.4)
'''Autori:''' [[profiles.Andrea | Andrea]]\\
'''Hanno contribuito:'''
a:
!Lezione 3: la costruzione di mappe topologiche (L1.5)
'''Autori:''' [[profiles/AlessandroModica | Alessandro Modica]]\\
'''Hanno contribuito:''' [[profiles/Vincenzo | Vincenzo Manzoni]], [[profiles/Andrea | Andrea Rota]]
Modificate le linee 6-28: da:
->[- In ambiente particolarmente complessi o vasti, memorizzare tutti i riferimenti geometrici in una mappa assoluta impensabile, sia potrebbe non essere facile misurarli con sufficiente precisione, sia l'occupazione di memoria sarebbe esagerata, ma soprattutto una tale completezza potrebbe non essere necessaria. Vedremo allora come la tecnica delle mappe topologiche sia di fondamentale importanza in questi contesti. -]

!!La limitatezza dell'approccio geometrico
Come abbiamo visto nella sezione relativa all'approccio geometrico, questo prevede sostanzialmente tre fasi: una di percezione dei riferimenti, una di costruzione della mappa locale e l'ultima di localizzazione e di integrazione con la mappa globale, costruita a partire da un riferimento assoluto (come ad esempio la posizione di partenza del robot).

Questo tipo
di approccio porta con alcuni problemi:
* la conoscenza delle cordinate assolute del robot potrebbe non essere importante
* l'errore di misura (specialmente odometrica) tende a sommarsi ad ogni localizzazione e quindi la mappa globale potrebbe essere molto imprecisa
* se il rapporto fra orizzonte di misura
dei sensori e le dimensioni dell'ambiente molto basso, il robot agisce in un ambiente vasto, e potrebbe essere difficile trattare l'alto numero di informazioni necessarie a memorizzare la mappa globale
* alcuni porzioni dell'ambiente potrebbero mancare di quei punti caratteristici che permettono al robot di effettuare la localizzazione, si pensi ad esempio ad un corridio molto lungo (ovvero con
una lunghezza molto superiore all'orizzonte d'osservazione dei sensori): muovendosi lungo il corridoio, il robot solo vedere le pareti, ma non a localizzare ''punti fissi'' per capire di quanto si mosso (tralasciamo ovviamente l'informazione poco accurata dei sensori odometrici). Questo problema di localizzazione si manifesta sia durante la fase di ''esplorazione'', in quanto il ''matching'' delle mappe locali potrebbe non essere corretto e potrebbe dare luogo ad una mappa globale errata, sia in minore misura in fase di ''navigazione'', in quanto il robot non in grado di localizzarsi correttamente sulla mappa.

!!L'approccio topologico
L'approccio topologico si differenzia dal precedente evita di usare
un riferimento assoluto per tutta la mappa. L'ambiente viene rappresentato come un grafo, in cui ogni nodo una porzione dell'ambiente riconoscibile topologicamente (passaggi, stanze, corridoi) e gli archi sono le relazioni topologiche che legano gli ambienti. Se due nodi A e B sono collegati, significa che possibile passare dall'ambiente A all'ambiente B.

La strategia di navigazione da A a B diventa :
# il robot riconosce di essere nel particolare ambiente A, e si localizza quindi in un nodo del grafo
# il robot si localizza all'interno della mappa che dispone dell'ambiente A
# il robot pianifica le strategie per raggiungere l'ambiente B (quali nodi attraversare?)
# il robot naviga ambiente per ambiente fino a giungere a B.

Da notare che il robot non necessita di conoscere la sua posizione 'assoluta', ma solo di alcuni riferimenti per riconoscere l'ambiente e i luoghi di passaggio (come porte ecc.), detti 'gateways'.

Un passaggio sicuramente molto importante del mapping topologico il riconoscimento degli ambienti, e avvenire in due modi:
a:
->[- In ambiente particolarmente complessi o vasti, memorizzare tutti i riferimenti geometrici in una mappa assoluta impensabile, sia potrebbe non essere facile misurarli con sufficiente precisione, sia l'occupazione di memoria sarebbe esagerata, ma soprattutto una tale completezza potrebbe non essere necessaria. Vedremo allora come la tecnica delle mappe topologiche sia di fondamentale importanza in questi contesti. -]

!!Il mapping

!! La creazione di una mappa

La creazione di una mappa da parte del robot avviene mediante alcuni step fondamentali. Tuttavia prima che possa avvenire, occorre necessariamente procedere a quello che viene definito ''sensor data processing'', che si articola in 3 fasi:

# Estrazione di dati caratteristici da quelli grezzi;
# Fusione dei dati raccolti da diversi tipi
di sensori;
# Generazione automatica di un modello dell'ambiente da parte del robot con diversi gradi di astrazione.

Eseguita questa fase possiamo pertanto procedere al ''mapping'' vero e proprio. Tale processo viene sintetizzato in 3 fasi distinte:

# Costruzione di un modello dei sensori (una descrizione astratta
dei dai raccolti dei sensori stessi);
# Matching tra le nuove conoscenze del robot, dovute alle osservazioni correnti, con quelle rilevate precedentemente;
# Modifica del modello locale del robot dovuto ai risultati dell'operazione precedente.

chiaro osservare come il punto 2 sia il difficile da eseguire. Ma non solo: bisogna sempre tener presente che nel momento in cui viene costruita
una mappa locale, essa non affetta da incertezza in quanto il robot fermo in una posizione ben definita. Al momento bisogna tener presente la differente posizione del robot nell'ambiente per poter effettuare un corretto matching dei dati a disposizione.

Un
problema che si viene a definire durante la creazione di una mappa il cosiddetto ''autonomous exploration''. Quando un robot deve costruirsi una mappa dell'ambiente in cui si trova, deve esplorare zone a lui sconosciute. Si assume inoltre che il robot non sappia assolutamente dove si trova. Le uniche conoscenze a lui note sono i dati rilevati dai sensori al momento del suo posizionamento in un punto sconosciuto . A questo punto, una volta posto nell'ambiente da mappare, il robot deve scegliere una strategia di esplorazione: tipicamente di questa strategia massimizzare l'esplorazione nel minor tempo possibile. La scelta della strategia ovviamente fortemente influenzata dal tipo di sensori che stiamo usando.
Modificate le linee 18-20: da:
L'approccio topologico si differenzia dal precedente evita di usare un riferimento assoluto per tutta la mappa. L'ambiente viene rappresentato come un grafo, in cui ogni nodo una porzione dell'ambiente riconoscibile (ad esempio una stanza, un corridoio) e gli archi sono le relazioni topologiche che legano gli ambienti. Se due nodi A e B sono collegati, significa che possibile passare dall'ambiente A all'ambiente B.

Per ogni nodo viene memorizzata una mappa locale
a:
L'approccio topologico si differenzia dal precedente evita di usare un riferimento assoluto per tutta la mappa. L'ambiente viene rappresentato come un grafo, in cui ogni nodo una porzione dell'ambiente riconoscibile topologicamente (passaggi, stanze, corridoi) e gli archi sono le relazioni topologiche che legano gli ambienti. Se due nodi A e B sono collegati, significa che possibile passare dall'ambiente A all'ambiente B.

La strategia di navigazione da A a B diventa :
# il robot riconosce di essere nel particolare ambiente A, e si localizza quindi in un nodo del grafo
# il robot si localizza all'interno della mappa che dispone dell'ambiente A
# il robot pianifica le strategie per raggiungere l'ambiente B (quali nodi attraversare?)
# il robot naviga ambiente per ambiente fino a giungere a B.

Da notare che il robot non necessita di conoscere la sua posizione 'assoluta', ma solo di alcuni riferimenti per riconoscere l'ambiente e i luoghi di passaggio (come porte ecc.), detti 'gateways'.

Un passaggio sicuramente molto importante del mapping topologico il riconoscimento degli ambienti, e avvenire in due modi:
Modificate le linee 15-19: da:
* alcuni porzioni dell'ambiente potrebbero mancare di quei punti caratteristici che permettono al robot di effettuare la localizzazione, si pensi ad esempio ad un corridio molto lungo (ovvero con una lunghezza molto superiore all'orizzonte d'osservazione dei sensori): muovendosi lungo il corridoio, il robot solo vedere le pareti, ma non a localizzare ''punti fissi'' per capire di quanto si mosso (tralasciamo ovviamente l'informazione poco accurata dei sensori odometrici). Questo problema di localizzazione si manifesta sia durante la fase di ''esplorazione'', in quanto il ''matching'' delle mappe locali potrebbe non essere corretto e potrebbe dare luogo ad una mappa globale errata, sia in fase di ''navigazione'', in quanto il robot non in grado di localizzarsi correttamente sulla mappa.


!!!Sottosezione
Contenuto della sottosezione
.
a:
* alcuni porzioni dell'ambiente potrebbero mancare di quei punti caratteristici che permettono al robot di effettuare la localizzazione, si pensi ad esempio ad un corridio molto lungo (ovvero con una lunghezza molto superiore all'orizzonte d'osservazione dei sensori): muovendosi lungo il corridoio, il robot solo vedere le pareti, ma non a localizzare ''punti fissi'' per capire di quanto si mosso (tralasciamo ovviamente l'informazione poco accurata dei sensori odometrici). Questo problema di localizzazione si manifesta sia durante la fase di ''esplorazione'', in quanto il ''matching'' delle mappe locali potrebbe non essere corretto e potrebbe dare luogo ad una mappa globale errata, sia in minore misura in fase di ''navigazione'', in quanto il robot non in grado di localizzarsi correttamente sulla mappa.

!!L'approccio topologico
L'approccio topologico si differenzia dal precedente evita di usare un riferimento assoluto per tutta la mappa
. L'ambiente viene rappresentato come un grafo, in cui ogni nodo una porzione dell'ambiente riconoscibile (ad esempio una stanza, un corridoio) e gli archi sono le relazioni topologiche che legano gli ambienti. Se due nodi A e B sono collegati, significa che possibile passare dall'ambiente A all'ambiente B.

Per ogni nodo viene memorizzata una mappa locale
22/10/2006 ore 23:08 CEST di Andrea - Rivisto sommario
Modificate le linee 6-7: da:
->[-Un robot ''intelligente'' deve essere in grado di muoversi in ambienti che presentano una certa . Per fare questo necessario che si costruisca una mappa dell'ambiente utilizzando i sensori: in questo articolo si del processo generico di costruzione di una mappa e si in dettaglio su una particolare mappa, quella topologica. -]
a:
->[- In ambiente particolarmente complessi o vasti, memorizzare tutti i riferimenti geometrici in una mappa assoluta impensabile, sia potrebbe non essere facile misurarli con sufficiente precisione, sia l'occupazione di memoria sarebbe esagerata, ma soprattutto una tale completezza potrebbe non essere necessaria. Vedremo allora come la tecnica delle mappe topologiche sia di fondamentale importanza in questi contesti. -]
Aggiunte le linee 1-12:
!Lezione 3: la costruzione di mappe topologiche (L1.4)
'''Autori:''' [[profiles.Andrea | Andrea]]\\
'''Hanno contribuito:'''

->'''Sommario'''
->[-Un robot ''intelligente'' deve essere in grado di muoversi in ambienti che presentano una certa . Per fare questo necessario che si costruisca una mappa dell'ambiente utilizzando i sensori: in questo articolo si del processo generico di costruzione di una mappa e si in dettaglio su una particolare mappa, quella topologica. -]

!!Map building


!!!Sottosezione
Contenuto della sottosezione.
Modifica - Versioni - Stampa - Modifiche recenti - Cerca
Ultima modifica il 26/01/2007 ore 12:15 CET