Facoltà di ingegneria Corso di laurea magistrale in Ingegneria Biomedica
Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di...
-
Upload
doriano-rossi -
Category
Documents
-
view
222 -
download
2
Transcript of Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di...
Progetto SOLOProgetto SOLO Un motion planner per guideUn motion planner per guide
multimediali interattivemultimediali interattive
UniversitUniversitàà degli studi di Bologna degli studi di BolognaFacoltFacoltàà di Ingegneria di Ingegneria
Corso di Laurea in Ingegneria InformaticaCorso di Laurea in Ingegneria InformaticaCalcolatori Elettronici ICalcolatori Elettronici I
Relatore:Prof. Tullio Salmon
CinottiCorrelatori:
Prof. Massimo FerriDott. Luca RoffiaIng. Pietro Azzari
Tesi di Laurea di:Daniele Manzaroli
Campo applicativoCampo applicativo
Guida multimediale interattivaGuida multimediale interattiva
Fruizione di beniFruizione di beni culturaliculturali
Percorso tematicoPercorso tematico
Dispositivo mobileDispositivo mobile
Composizione del sistemaComposizione del sistema
Mobile device
Scheda sensoriContenuti multimediali
Progetto “SOLO”
Composizione del sistemaComposizione del sistema
Virgilio Virtuale
Tracciatura itinerario
Guida automatica
Context sensitive
Veloce, flessibile, portabile
Obiettivi principaliObiettivi principali
Calcolo del percorso
Sistema Real Time
Basse risorse hardware
Scalabilità
Precisione
Velocità di elaborazione
Problematiche di realizzazioneProblematiche di realizzazioneRappresentazione dalla mappa in memoria:
Soluzione adottata nel progetto:
QUAD TREE like
Calcolo del percorso:Calcolo del percorso:
A*
Algoritmo di ricerca informata
- completo
- sotto determinate condizioni
“ottimo”
ParametrizzazioneParametrizzazione delle delle PerformancePerformanceFeature Size (Dettaglio della discretizzazione)
Poche aree grandi
Feature Size = 13
Si aggiungono aree più piccole
Feature Size = 8
Maggiore definizione
Feature Size = 3
ParametrizzazioneParametrizzazione delle delle PerformancePerformanceConnessioni nodo-nodo (Intorno di ricerca)
Risultati sperimentaliRisultati sperimentaliTempo di latenza
Risultati sperimentaliRisultati sperimentaliOccupazione di memoria
Risultati sperimentaliRisultati sperimentaliOccupazione di memoria (scala logaritmica)
Risultati sperimentaliRisultati sperimentaliGrado di similarità rispetto al percorso ottimo
ConclusioniConclusioniLavoro svolto:
Alta scalabilità (velocità di esecuzione)
Ottimo bilanciamento tra carico computazionale e ottimalità del percorso
Obiettivi raggiunti
Compressione delle mappe con sistema Quad Tree like
Metodo di analisi dell’adiacenza ( Line of Sight )
Ricerca del percorso ottimo su grafo non orientato
Applicazione delle metodologie sviluppate a casi di studio reali
e pratici
Implementazione dell’A* per navigazione su grafi
Sviluppi futuriSviluppi futuri
Miglioramenti al processo Quad Tree
Smoothing del percorso
Testare il sistema su dispositivo portabile
Introdurre contenuti multimediali “case sensitive”
Utilizzo del sistema in ambito culturale e fieristico
Grazie per l’attenzione
Dimostrazione ottimalità A*Dimostrazione ottimalità A*
f(n) = g(n) + h'(n), f(n) = g(n) + h'(n), valutazione del percorso
0 <= h'(n) <= h*(n)0 <= h'(n) <= h*(n), ammissibilità
Se la funzione euristica h’() è ammissibile, allora l'algoritmo A* troverà sempre il nodo goal ottimale
Si supponga di avere generato un goal sub-ottimo G2 di G (cioè intendiamo cheG e G2 portino allo stesso risultato ma con costi differenti). Sia n un nodo non espanso nella coda tale che n sia nel percorso più breve verso il goal ottimo G.
NOTA: in questa dimostrazione il goal ha un significato generico
Dimostrazione ottimalità A*Dimostrazione ottimalità A*
Dimostrazione ottimalità A*Dimostrazione ottimalità A*
• f(G2) = g(G2) poiché h(G2) = 0 • g(G2) > g(G) poiché G2 è solo sub-ottima• f(G) = g(G) poiché h(G) = 0• f(G2) > f(G) da sopra• h(n) ≤ h*(n) poiché h e’ ammissibile• g(n) + h(n) ≤ g(n) + h*(n)• f(n) < f(G)
Quindi f(G2 ) > f(n), e l’A* non selezionerà mai G2 per l’espansione. [c.v.d.]
Definizione di metrica sui percorsiDefinizione di metrica sui percorsi
Ogni percorso risulta essere una spezzata formata da archi di grafo e non può essere considerato come il grafico di una funzione. Tuttavia possiamo definire la metrica nel continuo assumendo i percorsi come curve non discretizzate monotone a tratti.
Siano C e D due curve del piano, aventi gli stessi estremi, entrambe C2 a tratti.
Definiamo: d(C,D)
l'area della minima parte di piano P(C,D) che sia connessa per archi e contenga C e D. Essendo d() un’area, vale:
d : C,D -> R0+ ( cioè d(C,D) >= 0 per ogni C,D)L’area P(C,D) è invariante rispetto all’ordine di considerazione delle curve, quindi:
d(C,D) = d(D,C)Assumendo che una singola curva occupi un’area nulla, nel caso in cui le curve fossero coincidenti avremo:
d(C,D) = 0 ( <=> C=D , zero del campo )
Definizione di metrica sui percorsiDefinizione di metrica sui percorsi
Sia E un'ulteriore curva.
P(C,E) è contenuta in P(C,D) U P(D,E).
Perciò:
d(C,E) = Area(P(C,E)) Area(P(C,E)) <= Area(P(C,D) U P(D,E))
Area(P(C,D) U P(D,E)) <= Area(P(C,D)) + Area(P(D,E)) = d(C,D) + d(D,E)
Quindi:d(C,E) <= d(C,D) + d(D,E)
Questa è la proprietà triangolare, fondamentale per la definizione di una distanza in uno spazio metrico.
Esempi di ricerca del percorsoEsempi di ricerca del percorso
Esempi di ricerca del percorsoEsempi di ricerca del percorso
Esempi di ricerca del percorsoEsempi di ricerca del percorso
Esempi di Path MatchingEsempi di Path Matching
Percorso ottimo
Esempi di Path MatchingEsempi di Path Matching
Confronto con percorso a feature size e intorno di ricerca dei vicini modificato
Esempi di Path MatchingEsempi di Path Matching
Notare il progressivo discostarsi dall’ottimo
Esempi di Path MatchingEsempi di Path Matching
Esempi di Path MatchingEsempi di Path Matching
Esempi di Path MatchingEsempi di Path Matching
Massimo scostamento dall’ottimo
Path Matching, Metrica failurePath Matching, Metrica failure
Il confronto tramite una metrica che si basa unicamente sulla lunghezza dei percorsi non ci permette di individuare questi, e simili, casi.Con la nostra metrica possiamo individuare questi casi di differenza topologica dei percorsi da valutare e controllare poi sono accettabile o no.
Problematiche di realizzazioneProblematiche di realizzazione
Rappresentazione dalla mappa in memoria:
Problema del commesso viaggiatore:
Grafo orientato con pesi sugli archi
Problematiche di realizzazioneProblematiche di realizzazioneRappresentazione dalla mappa in memoria:
Tecniche in campo ludico:
Tassellatura del terreno
Problematiche di realizzazioneProblematiche di realizzazione
Rappresentazione dalla mappa in memoria:
Motion planner e ricerca informata:
Spazio di ricerca discretizzato
Esempi di mappe utilizzateEsempi di mappe utilizzateStress su Ricerca del percorso
Labirinto ad alta complessità conputazionale
Esempi di mappe utilizzateEsempi di mappe utilizzateValutazione prestazioni con stretti percorsi
Bologna
Centro urbano
Esempi di mappe utilizzateEsempi di mappe utilizzateSituazione mista (pertugi e ampi spazi)
Sito archeologico
di Pompei
Esempi di mappe utilizzateEsempi di mappe utilizzateAree geometricamente semplici
Museo della
Storia della Scienza
di Firenze
Problematiche di realizzazioneProblematiche di realizzazione
Standard per larappresentazione cartografica
delle mappe
DXF e BMP
Formati adottati: