Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di...

Post on 02-May-2015

222 views 2 download

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: