La presentazione di Paolo Maronne in occasione del Codemotion del 5 marzo 2011 http://www.codemotion.it
Cos'è e come funziona la tecnologia dell'Augmented Reality; quali tipologie di AR esistono; principali utilizzi e potenzialità future. Veloce carrellata sulle piattaforme di AR esistenti con uno zoom su Layar, una delle piattaforme più diffuse e complete. Illustrazione tecnica su come implementare una propria idea con Layar. Alla fine veloce carrellata su una implementazione reale realizzata dall'autore, che tutti i partecipanti potranno provare in loco col proprio telefonino iPhone o Android.
2. “Augmented Reality is identified as one of the top 10
most disruptive new technologies for 2008-2012 and is
expected to be used by more than 30% of the mobile
workforce by 2014.”
Gartner 2009
Paolo Marrone – paolo.marrone@gmail.com
3. Cos'è l'Augmented Reality
L'Augmented Reality è la sovrapposizione di livelli informativi (elementi
virtuali e multimediali, dati geolocalizzati, ecc.) all'immagine reale inquadrata
attraverso una telecamera.
Gli elementi che "aumentano" la realtà possono essere aggiunti attraverso
un programma che può girare su diversi dispositivi:
● Telefonini di ultima generazione, (p. es. l'iPhone 3 o 4 o un telefono
Android)
● PC dotato di webcam
● Dispositivi di visione (p. es. occhiali VR)
Paolo Marrone – paolo.marrone@gmail.com
4. Tipologie di Augmented Reality
Esistono due principali tipologie di Augmented Reality:
● Non geolocalizzata: è basata sull'uso di forme o disegni
bidimensionali – markers – che permettono al programma di
individuare la posizione e l'orientamento dell'oggetto virtuale da
sovrapporre all'immagine reale
● Geolocalizzata: è basata sull'utilizzo di sensori hardware di posizione
(GPS) e di orientamento (accelerometro, bussola) presenti sul
dispositivo. E' tipicamente usata su dispositivi mobili (telefonini o
tablet)
Paolo Marrone – paolo.marrone@gmail.com
5. Applicazioni di Augmented Reality
● AR non geolocalizzata:
– Simulazione di arredamenti di interni, plastici virtuali
– Istruzioni di montaggio
– Giochi da tavolo
● AR geolocalizzata:
– Luoghi di interesse turistico, real-estate, ristoranti, stazioni della metro
– Internet & Social networks: Wikipedia, Twitter, Flickr, messaggi, ...
– Gaming & utility: labirinto, giochi di ruolo, ritrova la macchina, ...
Paolo Marrone – paolo.marrone@gmail.com
6. Soluzioni di Augmented Reality
● Librerie (AR non geoloc.):
– ARToolKit: http://www.hitl.washington.edu/artoolkit/
ARToolKit
– Goblin XNA: http://graphics.cs.columbia.edu/projects/goblin/index.htm
XNA
– T-Immersion: http://www.t-immersion.com/
T-Immersion
– Linceo VR: http://www.seac02.it/
VR
● Piattaforme (AR geloloc.):
– Junaio: http://www.junaio.com
Junaio
– Wikitude: http://www.wikitude.org
Wikitude
– Layar: http://www.layar.com
Layar
Paolo Marrone – paolo.marrone@gmail.com
7. Layar
● Layar è una delle più famose e complete piattaforme di Augmented Reality
attualmente esistenti
● Layar mette a disposizione un browser installabile gratuitamente su iPhone 3 o
4, Android e Symbian
● La realizzazione e pubblicazione di un 'Layer' è del tutto gratuita
● I Layers sono raggruppati per categoria e sono ricercabili per parole chiave
● E' possibile pubblicare layers gratuiti o a pagamento per l'utente finale
● Esistono al momento più di 1000 Layers pubblicati
Paolo Marrone – paolo.marrone@gmail.com
8. Architettura di una applicazione Layar
Content
JSON/HTTP Server
Internet Layar Internet
Server
POI
Layar
AR Browser
HTTP
Immagini, Video, ...
Paolo Marrone – paolo.marrone@gmail.com
9. Protocollo di comunicazione
● Il protocollo utilizzato è HTTP
● La Request da parte del Layar Server è effettuata in RESTFUL mode, tramite il
comando HTTP GET
● La Response da parte del Content Server è costituita da un messaggio JSON,
secondo uno specifico formato
● E' possibile rendere sicura la comunicazione utilizzando il protocollo HTTPS e
firmando le request attraverso OAuth
Paolo Marrone – paolo.marrone@gmail.com
11. Tipi di oggetti POI
● Ogni POI all'interno di un Layer può essere rappresentato graficamente da
icone, immagini o oggetti 3D
● Gli oggetti 3D devono essere creati in formato Wavefront (.obj)
● Un convertitore messo a disposizione da Layar provvederà a convertire l'oggetto
3D in un formato ottimizzato per la piattaforma mobile
● Blender (http://www.blender.org) può essere utilizzato per costruire oggetti
3D in formato Wavefront. E' rilasciato con licenza Open Source
Paolo Marrone – paolo.marrone@gmail.com
12. Una applicazione reale: EasyArrows
● EasyArrows (http://www.easyarrows.com) permette di collocare facilmente
una freccia 3D sulla propria posizione
● E' possibile impostare una freccia con una delle seguenti modalità:
– FollowMe: la freccia segue costantemente la posizione dell’utente in base
alle coordinate GPS del dispositivo
– BreadCrumb: è possibile lasciare dei segnaposto lungo il proprio
percorso, in modo da poterlo ripercorrere
– Static: imposta un segnaposto statico sulla propria posizione
● E' stato realizzato a 'costo zero':
– Il server dei contenuti è scritto in Java ed è basato su Spring e Jackson. E'
ospitato su Google Appengine, mentre il sito web è su Google Site
Paolo Marrone – paolo.marrone@gmail.com
14. EasyArrows al Codemotion
● Con EasyArrows è stata posta una insegna larga
oltre 30 metri sul tetto della facoltà di Ingegneria,
ad una altezza di 21 metri
● Per vederla, installa Layar sul tuo telefonino, apri
il layer “EasyArrows” e punta la videocamera
verso il tetto dell'edificio*
(*) Rimarrà visibile fino al 6/3/2011
Paolo Marrone – paolo.marrone@gmail.com