46
Progetto SOLO Progetto SOLO Un motion planner per Un motion planner per guide guide multimediali interattive multimediali interattive Universit Universit à à degli studi di degli studi di Bologna Bologna Facolt Facolt à à di Ingegneria di Ingegneria Corso di Laurea in Ingegneria Informatica Corso di Laurea in Ingegneria Informatica Calcolatori Elettronici I Calcolatori Elettronici I Relatore: Prof. Tullio Salmon Cinotti Correlatori: Prof. Massimo Ferri Dott. Luca Roffia Ing. Pietro Azzari Tesi di Laurea di: Daniele Manzaroli

Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Embed Size (px)

Citation preview

Page 1: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

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

Page 2: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Campo applicativoCampo applicativo

Guida multimediale interattivaGuida multimediale interattiva

Fruizione di beniFruizione di beni culturaliculturali

Percorso tematicoPercorso tematico

Dispositivo mobileDispositivo mobile

Page 3: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Composizione del sistemaComposizione del sistema

Mobile device

Scheda sensoriContenuti multimediali

Progetto “SOLO”

Page 4: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Composizione del sistemaComposizione del sistema

Virgilio Virtuale

Tracciatura itinerario

Guida automatica

Context sensitive

Veloce, flessibile, portabile

Page 5: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Obiettivi principaliObiettivi principali

Calcolo del percorso

Sistema Real Time

Basse risorse hardware

Scalabilità

Precisione

Velocità di elaborazione

Page 6: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Problematiche di realizzazioneProblematiche di realizzazioneRappresentazione dalla mappa in memoria:

Soluzione adottata nel progetto:

QUAD TREE like

Page 7: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria
Page 8: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria
Page 9: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria
Page 10: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria
Page 11: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Calcolo del percorso:Calcolo del percorso:

A*

Algoritmo di ricerca informata

- completo

- sotto determinate condizioni

“ottimo”

Page 12: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

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

Page 13: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

ParametrizzazioneParametrizzazione delle delle PerformancePerformanceConnessioni nodo-nodo (Intorno di ricerca)

Page 14: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Risultati sperimentaliRisultati sperimentaliTempo di latenza

Page 15: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Risultati sperimentaliRisultati sperimentaliOccupazione di memoria

Page 16: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Risultati sperimentaliRisultati sperimentaliOccupazione di memoria (scala logaritmica)

Page 17: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Risultati sperimentaliRisultati sperimentaliGrado di similarità rispetto al percorso ottimo

Page 18: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

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

Page 19: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

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

Page 20: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Grazie per l’attenzione

Page 21: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

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

Page 22: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

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*

Page 23: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

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.]

Page 24: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

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 )

Page 25: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

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.

Page 26: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di ricerca del percorsoEsempi di ricerca del percorso

Page 27: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di ricerca del percorsoEsempi di ricerca del percorso

Page 28: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di ricerca del percorsoEsempi di ricerca del percorso

Page 29: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di Path MatchingEsempi di Path Matching

Percorso ottimo

Page 30: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di Path MatchingEsempi di Path Matching

Confronto con percorso a feature size e intorno di ricerca dei vicini modificato

Page 31: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di Path MatchingEsempi di Path Matching

Notare il progressivo discostarsi dall’ottimo

Page 32: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di Path MatchingEsempi di Path Matching

Page 33: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di Path MatchingEsempi di Path Matching

Page 34: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di Path MatchingEsempi di Path Matching

Massimo scostamento dall’ottimo

Page 35: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

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.

Page 36: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Problematiche di realizzazioneProblematiche di realizzazione

Rappresentazione dalla mappa in memoria:

Problema del commesso viaggiatore:

Grafo orientato con pesi sugli archi

Page 37: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria
Page 38: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Problematiche di realizzazioneProblematiche di realizzazioneRappresentazione dalla mappa in memoria:

Tecniche in campo ludico:

Tassellatura del terreno

Page 39: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria
Page 40: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Problematiche di realizzazioneProblematiche di realizzazione

Rappresentazione dalla mappa in memoria:

Motion planner e ricerca informata:

Spazio di ricerca discretizzato

Page 41: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria
Page 42: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di mappe utilizzateEsempi di mappe utilizzateStress su Ricerca del percorso

Labirinto ad alta complessità conputazionale

Page 43: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di mappe utilizzateEsempi di mappe utilizzateValutazione prestazioni con stretti percorsi

Bologna

Centro urbano

Page 44: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di mappe utilizzateEsempi di mappe utilizzateSituazione mista (pertugi e ampi spazi)

Sito archeologico

di Pompei

Page 45: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Esempi di mappe utilizzateEsempi di mappe utilizzateAree geometricamente semplici

Museo della

Storia della Scienza

di Firenze

Page 46: Progetto SOLO Un motion planner per guide multimediali interattive Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria

Problematiche di realizzazioneProblematiche di realizzazione

Standard per larappresentazione cartografica

delle mappe

DXF e BMP

Formati adottati: