SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Architettura del tavolo
Architettura del tavolo
Immagini nel visibile
Proiezione dell'immagine visibile sulla
superficie
Componenti:

✗ Proiettore Acer s1210
✗ Lastra in Plexiglass PMMA
✗ Foglio di frost 129 heavy frost

23 ottobre 2013

Limulo @ Electropark 2013

2
Architettura del tavolo
Immagini nell'infrarosso
Ricezione dell'immagine
Componenti:
✗ Videocamera PS3Eye

23 ottobre 2013

Limulo @ Electropark 2013

3
Architettura del tavolo
Immagini nell'infrarosso
Illuminazione nel range
IR
Componenti:
✗ 4 illuminatori infrarossi

23 ottobre 2013

Limulo @ Electropark 2013

4
Architettura del tavolo
Perché l'illuminazione IR?

✗ Range dell'infrarosso (a partire da 850 nm circa)
Ricezione dell'immagine relativa allo stato della superficie
✗ Range del visibile
Display di un'interfaccia grafica coerente con lo stato della superficie
Approfondimenti: lucidscience.com
23 ottobre 2013

Limulo @ Electropark 2013

5
Architettura del tavolo
ps3Eye
✗ Lens mount
✗ Rimozione filtro IR
✗ Applicazione filtro visibile
✗ Lente grandangolare

Vantaggi di usare la ps3Eye:
✗ facilità di rimozione del filtro IR
✗ facilità di cambio del lens mount
✗ prezzo contenuto
✗ framerate elevato

23 ottobre 2013

Limulo @ Electropark 2013

6
Architettura del tavolo
Visione d'insieme delle componenti
Ps3Eye privata del filtro IR e dotata di filtro per il visibile per captare lo stato
della superficie
Illuminatori per diffondere luce IR all'interno del tavolo
Proiettore Acer s1210 per restituire un'interfaccia grafica. Emette solo nel
visibile.
Teli di tessuto nero oscurante ignifugo per evitare interferenze con la luce
esterna al tavolo
(la luce del sole o di una lampada contiene componenti nel range di frequenze
degli IR!!!)

23 ottobre 2013

Limulo @ Electropark 2013

7
Architettura del tavolo
Tentativi vari di illuminazione IR
✗ Sincronizzazione di un circuito a LED IR con la telecamera
✗ Costruzione di un illuminatore IR
con un timer 555

✗ Utilizzo di una telecamera incorporata con l'illuminatore (implementata nel
prototipo2)

23 ottobre 2013

Limulo @ Electropark 2013

8
Range Visibile

Server

Client
23 ottobre 2013

Range IR

Limulo @ Electropark 2013

9
Architettura software
client - server
Server: gestore di servizi
Client: applicativo richiedente servizi

Il client richiede un servizio al server → Il server riconosce il client e lo eroga → il client
invia al server la conferma di ricezione del servizio

23 ottobre 2013

Limulo @ Electropark 2013

10
Architettura software
protocolli e formattazione
TCP (Transmission Control Protocol)
Per stabilire, mantenere e chiudere una connessione, è necessario inviare
pacchetti di servizio
È affidabile ma lento

UDP (User Datagram Protocol)
non gestisce il riordinamento dei pacchetti né la ritrasmissione di quelli persi
È molto rapido ma non sicuro

23 ottobre 2013

Limulo @ Electropark 2013

11
Architettura software
protocolli e formattazione
Posta elettronica

SMTP

TCP

Accesso a terminale
remoto

telnet

TCP

Trasferimento file

FTP

TCP

Web

HTTP

TCP

Streaming Audio/Video

RTSP/RTP

TCP (comandi) + UDP
(flusso)

Server di file remoto

NFS

tipicamente UDP

Telefonia su internet
(VoIP)

SIP H.323, altri
,

tipicamente UDP

Gestione della rete

SNMP

tipicamente UDP

Protocollo di routing

RIP

tipicamente UDP

Risoluzione dei nomi
23 ottobre 2013

Protocollo strato
trasporto

DNS

tipicamente UDP

Limulo @ Electropark 2013

Fonte: wikipedia

Applicazione

Protocollo strato
applicazione

12
Architettura software
OSC e TUIO
OSC (Open Sound Control)
Formato di trasmissione di dati tramite invio di pacchetti di messaggi
(tra computer, sintetizzatori, strumenti multimediali)
I messaggi sono generalmente inviati e ricevuti su internet, sottoreti o LAN
(UDP/IP Ethernet).
,
TUIO
Protocollo di trasmissione dati su rete (locale[LAN] o intenet [Ethernet]).
Utilizza il protocollo di trasmissione UDP/IP
.
Si basa sulla formattazione dei messaggi OSC, di cui rappresenta una
particolarizzazione.
Si basa su architettura Client – Server

23 ottobre 2013

Limulo @ Electropark 2013

13
Architettura software
TUIO v1.1
Anatomia di un messaggio TUIO
[src]/[alive]/[set]/[fseq]
Src = sorgente TUIO
Alive = lista degli oggetti presenti sulla superficie
Set = informazioni sullo stato degli oggetti
Fseq = identifica un determinato stadio di update

Oggetto = un qualunque oggetto interagente con la superficie.
Esempi di oggetti: oggetto fisico, un dito, ...

23 ottobre 2013

Limulo @ Electropark 2013

14
Architettura software
il protocollo TUIO
Protocollo inventato da M. Kaltenbrunner, T. Bovermann, R. Bencina, E. Costanza
Ispirato dai lavori presso Universitat Pempeu Fabra (Barcellona) sul Reactable
Implementato quasi esclusivamente per applicativi basati sul riconoscimento
di fiducial marker tramite compter vision.

TUIO è implementato in Reactivision, un applicativo che funge da server e che
semplifica la generazione e l'invio di messaggi correttamente formattati.

23 ottobre 2013

Limulo @ Electropark 2013

15
Architettura software
I fiducial marker
Marker visivi univocamente riconoscibili da un sistema di computer vision
Evoluzione dei fiducial:
ARToolKit
d-touch
Amoeba (miglioramento del dtouch → algortimo genetico)

23 ottobre 2013

Limulo @ Electropark 2013

16
Architettura software
I fiducial marker: ARToolKit

23 ottobre 2013

Limulo @ Electropark 2013

17
Architettura software
I fiducial marker: d-touch

23 ottobre 2013

Limulo @ Electropark 2013

18
Architettura software
I fiducial marker: amoeba

23 ottobre 2013

Limulo @ Electropark 2013

19
Architettura software
Il nostro setup

WAN

LAN

23 ottobre 2013

Limulo @ Electropark 2013

20
Architettura software
Il nostro setup

23 ottobre 2013

Limulo @ Electropark 2013

21
Architettura software
Il nostro client
Quali strumenti utilizzare?

✗ Processing
✗ Cinder
✗ openFrameworks
✗ PureData
✗ SuperCollider

23 ottobre 2013

Limulo @ Electropark 2013

22
Architettura software
Il nostro client - PureData

I suoni sono generati in tempo reale (audio procedurale)

23 ottobre 2013

Limulo @ Electropark 2013

23
Architettura software
Il nostro client - addons
Come mettere assieme openFrameworks, TUIO, PureData?

OfAddons!!!
ofxPd: permette di utilizzare la libreria libpd che consente di embeddare il
core di PureData in programmi sviluppati in C, C++, java,...
ofxTuio: permette di creare e gestire direttamente nell'ambiente di sviluppo di
openFrameworks un server e un client che comunicano tramite protocollo
TUIO

Libpd è sviluppato da Peter Brinkmann
ofxPd è sviluppato da danomatika
ofxTuio è sviluppato da patriciogonzalezvivo

23 ottobre 2013

Limulo @ Electropark 2013

24
Architettura software
Il nostro client - addons
Problemi

Soluzioni

Distorsione ottica della lente
grandangolare
Posizionamento angolato del
proiettore
Distorsione sonora

Ottimizzazione della posizione
relativa della telecamera
Keystone software

Riflessi degi illuminatori

Angolazione degli illuminatori e
riposizionamento della
telecamera
Applicazione di due ventola di
raffreddamento

Surriscaldamento interno del
tavolo

23 ottobre 2013

Matrice di mappatura dei suoni

Limulo @ Electropark 2013

25
Links
NUI group

Martin Kaltenbrunner

d-touch

Reactivision

Ross Bencina

Cinder

Reactable

OpenFrameworks

SuperCollider

TUIO

Processing

PureData

OSC
Danomatika

ARToolKit
patriciogonzalevivo

LucidScience
libpd

23 ottobre 2013

Limulo @ Electropark 2013

26
Papers
●

●

●

●

●

●

Kaltenbrunner, M., Bovermann, T., Bencina, R., Costanza, E.: "TUIO - A Protocol for Table-Top Tangible User Interfaces". Proceedings of the
6th International Workshop on Gesture in Human-Computer Interaction and Simulation (GW 2005), Vannes, France, 2005
Kaltenbrunner, M., Bencina, R.: "reacTIVision: A Computer-Vision Framework for Table-Based Tangible Interaction". Proceedings of the
first international conference on "Tangible and Embedded Interaction" (TEI07). Baton Rouge, Louisiana, 2007
Wright, M., Freed, A., Momeni A.: "OpenSound Control: State of the Art 2003". Proceedings of the 3rd Conference on New Instruments
for Musical Expression (NIME 03), Montreal, Canada, 2003.
Kaltenbrunner, M. "reacTIVision and TUIO: A Tangible Tabletop Toolkit", Proceedings of the ACM International Conference on Interactive
Tabletops and Surfaces (ITS2009). Banff, Canada.
Kaltenbrunner, M. & Bencina, R. "reacTIVision: A Computer-Vision Framework for Table-Based Tangible Interaction", Proceedings of the
first international conference on "Tangible and Embedded Interaction (TEI07). Baton Rouge, Louisiana.
Bencina, R. & Kaltenbrunner, M. "The Design and Evolution of Fiducials for the reacTIVision System", Proceedings of the 3rd International
Conference on Generative Systems in the Electronic Arts (3rd Iteration 2005), Melbourne (Australia)

23 ottobre 2013

Limulo @ Electropark 2013

27
Bibliografia e letture consigliate
●

J. Kreidler, “loadbang”, 2009, wolke

●

A. Farnell, “”Designing Sound”, 2010, MIT Press

●

Wilson, Cottle, Collins, “”The SuperCollider Book”, 2011, MIT Press

●

H. Scildt, “”The Complete Reference C++”, 2003, McGraw Hill

●

D. Shiffman, “”Learning Processing”, 2008, Morgan Kaufmann

●

J. Noble, “”Interactivity”, 2009, O'Reilly

23 ottobre 2013

Limulo @ Electropark 2013

28

Más contenido relacionado

Similar a Prototipo3 - limulo at electropark 2013

Web RTC: Nato per comunicare
Web RTC: Nato per comunicareWeb RTC: Nato per comunicare
Web RTC: Nato per comunicareIvano Malavolta
 
VirtualEnergy - Attività svolte e risultati ottenuti
VirtualEnergy - Attività svolte e risultati ottenutiVirtualEnergy - Attività svolte e risultati ottenuti
VirtualEnergy - Attività svolte e risultati ottenutiSardegna Ricerche
 
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...Tecniche di raccomandazione automatica per la sottomissione di articoli scien...
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...GiulioPic
 
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...TiborRacman
 
Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...Alexander Minichino
 
2 .Introduzione a internet
2 .Introduzione a internet2 .Introduzione a internet
2 .Introduzione a internetRoberto Polillo
 
PROTOTIPIZZAZIONE DI UNA PIATTAFORMA CLOUD PER LA GESTIONE DI MODELLI 3D
PROTOTIPIZZAZIONE DI UNA PIATTAFORMA CLOUD PER LA GESTIONE DI MODELLI 3DPROTOTIPIZZAZIONE DI UNA PIATTAFORMA CLOUD PER LA GESTIONE DI MODELLI 3D
PROTOTIPIZZAZIONE DI UNA PIATTAFORMA CLOUD PER LA GESTIONE DI MODELLI 3DRiccardo Gulin
 
Digitalizzazione di un processo industriale
Digitalizzazione di un processo industrialeDigitalizzazione di un processo industriale
Digitalizzazione di un processo industrialeGiulioDeBiasio2
 
GWT 2014: Energy Conference - 03 Network Design & Maintenance per le reti tec...
GWT 2014: Energy Conference - 03 Network Design & Maintenance per le reti tec...GWT 2014: Energy Conference - 03 Network Design & Maintenance per le reti tec...
GWT 2014: Energy Conference - 03 Network Design & Maintenance per le reti tec...Planetek Italia Srl
 
Giacinto Donvito – Infrastrutture di Grid e Cloud per la ricerca Bioinformatica
Giacinto Donvito – Infrastrutture di Grid e Cloud per la ricerca BioinformaticaGiacinto Donvito – Infrastrutture di Grid e Cloud per la ricerca Bioinformatica
Giacinto Donvito – Infrastrutture di Grid e Cloud per la ricerca Bioinformaticaeventi-ITBbari
 
Scatol8 - Vision, concept, guidelines and relation to LCA
Scatol8 - Vision, concept, guidelines and relation to LCAScatol8 - Vision, concept, guidelines and relation to LCA
Scatol8 - Vision, concept, guidelines and relation to LCARiccardo Beltramo
 
Presentazione tesi multitouch
Presentazione tesi multitouch Presentazione tesi multitouch
Presentazione tesi multitouch Pier Giuliano Nioi
 
i-BIO_verifica_ispettiva_20_marzo_2014
i-BIO_verifica_ispettiva_20_marzo_2014i-BIO_verifica_ispettiva_20_marzo_2014
i-BIO_verifica_ispettiva_20_marzo_2014Massimo Natale
 
VMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUG IT
 
VMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUG IT
 
Approcci ed applicazioni per l’Ambient Intelligence
Approcci ed applicazioni per l’Ambient IntelligenceApprocci ed applicazioni per l’Ambient Intelligence
Approcci ed applicazioni per l’Ambient IntelligenceFulvio Corno
 

Similar a Prototipo3 - limulo at electropark 2013 (20)

XClima europe
XClima europeXClima europe
XClima europe
 
X clima europe
X clima europeX clima europe
X clima europe
 
Web RTC: Nato per comunicare
Web RTC: Nato per comunicareWeb RTC: Nato per comunicare
Web RTC: Nato per comunicare
 
VirtualEnergy - Attività svolte e risultati ottenuti
VirtualEnergy - Attività svolte e risultati ottenutiVirtualEnergy - Attività svolte e risultati ottenuti
VirtualEnergy - Attività svolte e risultati ottenuti
 
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...Tecniche di raccomandazione automatica per la sottomissione di articoli scien...
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...
 
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
 
Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...
 
2 .Introduzione a internet
2 .Introduzione a internet2 .Introduzione a internet
2 .Introduzione a internet
 
PROTOTIPIZZAZIONE DI UNA PIATTAFORMA CLOUD PER LA GESTIONE DI MODELLI 3D
PROTOTIPIZZAZIONE DI UNA PIATTAFORMA CLOUD PER LA GESTIONE DI MODELLI 3DPROTOTIPIZZAZIONE DI UNA PIATTAFORMA CLOUD PER LA GESTIONE DI MODELLI 3D
PROTOTIPIZZAZIONE DI UNA PIATTAFORMA CLOUD PER LA GESTIONE DI MODELLI 3D
 
Digitalizzazione di un processo industriale
Digitalizzazione di un processo industrialeDigitalizzazione di un processo industriale
Digitalizzazione di un processo industriale
 
GWT 2014: Energy Conference - 03 Network Design & Maintenance per le reti tec...
GWT 2014: Energy Conference - 03 Network Design & Maintenance per le reti tec...GWT 2014: Energy Conference - 03 Network Design & Maintenance per le reti tec...
GWT 2014: Energy Conference - 03 Network Design & Maintenance per le reti tec...
 
Giacinto Donvito – Infrastrutture di Grid e Cloud per la ricerca Bioinformatica
Giacinto Donvito – Infrastrutture di Grid e Cloud per la ricerca BioinformaticaGiacinto Donvito – Infrastrutture di Grid e Cloud per la ricerca Bioinformatica
Giacinto Donvito – Infrastrutture di Grid e Cloud per la ricerca Bioinformatica
 
Scatol8 - Vision, concept, guidelines and relation to LCA
Scatol8 - Vision, concept, guidelines and relation to LCAScatol8 - Vision, concept, guidelines and relation to LCA
Scatol8 - Vision, concept, guidelines and relation to LCA
 
Presentazione tesi multitouch
Presentazione tesi multitouch Presentazione tesi multitouch
Presentazione tesi multitouch
 
i-BIO_verifica_ispettiva_20_marzo_2014
i-BIO_verifica_ispettiva_20_marzo_2014i-BIO_verifica_ispettiva_20_marzo_2014
i-BIO_verifica_ispettiva_20_marzo_2014
 
RETI di LABORATORI - [Aeronautico] SENS&MICROLAB
RETI di LABORATORI - [Aeronautico] SENS&MICROLABRETI di LABORATORI - [Aeronautico] SENS&MICROLAB
RETI di LABORATORI - [Aeronautico] SENS&MICROLAB
 
VMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia View
 
VMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia View
 
Tesi
TesiTesi
Tesi
 
Approcci ed applicazioni per l’Ambient Intelligence
Approcci ed applicazioni per l’Ambient IntelligenceApprocci ed applicazioni per l’Ambient Intelligence
Approcci ed applicazioni per l’Ambient Intelligence
 

Prototipo3 - limulo at electropark 2013

  • 2. Architettura del tavolo Immagini nel visibile Proiezione dell'immagine visibile sulla superficie Componenti: ✗ Proiettore Acer s1210 ✗ Lastra in Plexiglass PMMA ✗ Foglio di frost 129 heavy frost 23 ottobre 2013 Limulo @ Electropark 2013 2
  • 3. Architettura del tavolo Immagini nell'infrarosso Ricezione dell'immagine Componenti: ✗ Videocamera PS3Eye 23 ottobre 2013 Limulo @ Electropark 2013 3
  • 4. Architettura del tavolo Immagini nell'infrarosso Illuminazione nel range IR Componenti: ✗ 4 illuminatori infrarossi 23 ottobre 2013 Limulo @ Electropark 2013 4
  • 5. Architettura del tavolo Perché l'illuminazione IR? ✗ Range dell'infrarosso (a partire da 850 nm circa) Ricezione dell'immagine relativa allo stato della superficie ✗ Range del visibile Display di un'interfaccia grafica coerente con lo stato della superficie Approfondimenti: lucidscience.com 23 ottobre 2013 Limulo @ Electropark 2013 5
  • 6. Architettura del tavolo ps3Eye ✗ Lens mount ✗ Rimozione filtro IR ✗ Applicazione filtro visibile ✗ Lente grandangolare Vantaggi di usare la ps3Eye: ✗ facilità di rimozione del filtro IR ✗ facilità di cambio del lens mount ✗ prezzo contenuto ✗ framerate elevato 23 ottobre 2013 Limulo @ Electropark 2013 6
  • 7. Architettura del tavolo Visione d'insieme delle componenti Ps3Eye privata del filtro IR e dotata di filtro per il visibile per captare lo stato della superficie Illuminatori per diffondere luce IR all'interno del tavolo Proiettore Acer s1210 per restituire un'interfaccia grafica. Emette solo nel visibile. Teli di tessuto nero oscurante ignifugo per evitare interferenze con la luce esterna al tavolo (la luce del sole o di una lampada contiene componenti nel range di frequenze degli IR!!!) 23 ottobre 2013 Limulo @ Electropark 2013 7
  • 8. Architettura del tavolo Tentativi vari di illuminazione IR ✗ Sincronizzazione di un circuito a LED IR con la telecamera ✗ Costruzione di un illuminatore IR con un timer 555 ✗ Utilizzo di una telecamera incorporata con l'illuminatore (implementata nel prototipo2) 23 ottobre 2013 Limulo @ Electropark 2013 8
  • 9. Range Visibile Server Client 23 ottobre 2013 Range IR Limulo @ Electropark 2013 9
  • 10. Architettura software client - server Server: gestore di servizi Client: applicativo richiedente servizi Il client richiede un servizio al server → Il server riconosce il client e lo eroga → il client invia al server la conferma di ricezione del servizio 23 ottobre 2013 Limulo @ Electropark 2013 10
  • 11. Architettura software protocolli e formattazione TCP (Transmission Control Protocol) Per stabilire, mantenere e chiudere una connessione, è necessario inviare pacchetti di servizio È affidabile ma lento UDP (User Datagram Protocol) non gestisce il riordinamento dei pacchetti né la ritrasmissione di quelli persi È molto rapido ma non sicuro 23 ottobre 2013 Limulo @ Electropark 2013 11
  • 12. Architettura software protocolli e formattazione Posta elettronica SMTP TCP Accesso a terminale remoto telnet TCP Trasferimento file FTP TCP Web HTTP TCP Streaming Audio/Video RTSP/RTP TCP (comandi) + UDP (flusso) Server di file remoto NFS tipicamente UDP Telefonia su internet (VoIP) SIP H.323, altri , tipicamente UDP Gestione della rete SNMP tipicamente UDP Protocollo di routing RIP tipicamente UDP Risoluzione dei nomi 23 ottobre 2013 Protocollo strato trasporto DNS tipicamente UDP Limulo @ Electropark 2013 Fonte: wikipedia Applicazione Protocollo strato applicazione 12
  • 13. Architettura software OSC e TUIO OSC (Open Sound Control) Formato di trasmissione di dati tramite invio di pacchetti di messaggi (tra computer, sintetizzatori, strumenti multimediali) I messaggi sono generalmente inviati e ricevuti su internet, sottoreti o LAN (UDP/IP Ethernet). , TUIO Protocollo di trasmissione dati su rete (locale[LAN] o intenet [Ethernet]). Utilizza il protocollo di trasmissione UDP/IP . Si basa sulla formattazione dei messaggi OSC, di cui rappresenta una particolarizzazione. Si basa su architettura Client – Server 23 ottobre 2013 Limulo @ Electropark 2013 13
  • 14. Architettura software TUIO v1.1 Anatomia di un messaggio TUIO [src]/[alive]/[set]/[fseq] Src = sorgente TUIO Alive = lista degli oggetti presenti sulla superficie Set = informazioni sullo stato degli oggetti Fseq = identifica un determinato stadio di update Oggetto = un qualunque oggetto interagente con la superficie. Esempi di oggetti: oggetto fisico, un dito, ... 23 ottobre 2013 Limulo @ Electropark 2013 14
  • 15. Architettura software il protocollo TUIO Protocollo inventato da M. Kaltenbrunner, T. Bovermann, R. Bencina, E. Costanza Ispirato dai lavori presso Universitat Pempeu Fabra (Barcellona) sul Reactable Implementato quasi esclusivamente per applicativi basati sul riconoscimento di fiducial marker tramite compter vision. TUIO è implementato in Reactivision, un applicativo che funge da server e che semplifica la generazione e l'invio di messaggi correttamente formattati. 23 ottobre 2013 Limulo @ Electropark 2013 15
  • 16. Architettura software I fiducial marker Marker visivi univocamente riconoscibili da un sistema di computer vision Evoluzione dei fiducial: ARToolKit d-touch Amoeba (miglioramento del dtouch → algortimo genetico) 23 ottobre 2013 Limulo @ Electropark 2013 16
  • 17. Architettura software I fiducial marker: ARToolKit 23 ottobre 2013 Limulo @ Electropark 2013 17
  • 18. Architettura software I fiducial marker: d-touch 23 ottobre 2013 Limulo @ Electropark 2013 18
  • 19. Architettura software I fiducial marker: amoeba 23 ottobre 2013 Limulo @ Electropark 2013 19
  • 20. Architettura software Il nostro setup WAN LAN 23 ottobre 2013 Limulo @ Electropark 2013 20
  • 21. Architettura software Il nostro setup 23 ottobre 2013 Limulo @ Electropark 2013 21
  • 22. Architettura software Il nostro client Quali strumenti utilizzare? ✗ Processing ✗ Cinder ✗ openFrameworks ✗ PureData ✗ SuperCollider 23 ottobre 2013 Limulo @ Electropark 2013 22
  • 23. Architettura software Il nostro client - PureData I suoni sono generati in tempo reale (audio procedurale) 23 ottobre 2013 Limulo @ Electropark 2013 23
  • 24. Architettura software Il nostro client - addons Come mettere assieme openFrameworks, TUIO, PureData? OfAddons!!! ofxPd: permette di utilizzare la libreria libpd che consente di embeddare il core di PureData in programmi sviluppati in C, C++, java,... ofxTuio: permette di creare e gestire direttamente nell'ambiente di sviluppo di openFrameworks un server e un client che comunicano tramite protocollo TUIO Libpd è sviluppato da Peter Brinkmann ofxPd è sviluppato da danomatika ofxTuio è sviluppato da patriciogonzalezvivo 23 ottobre 2013 Limulo @ Electropark 2013 24
  • 25. Architettura software Il nostro client - addons Problemi Soluzioni Distorsione ottica della lente grandangolare Posizionamento angolato del proiettore Distorsione sonora Ottimizzazione della posizione relativa della telecamera Keystone software Riflessi degi illuminatori Angolazione degli illuminatori e riposizionamento della telecamera Applicazione di due ventola di raffreddamento Surriscaldamento interno del tavolo 23 ottobre 2013 Matrice di mappatura dei suoni Limulo @ Electropark 2013 25
  • 26. Links NUI group Martin Kaltenbrunner d-touch Reactivision Ross Bencina Cinder Reactable OpenFrameworks SuperCollider TUIO Processing PureData OSC Danomatika ARToolKit patriciogonzalevivo LucidScience libpd 23 ottobre 2013 Limulo @ Electropark 2013 26
  • 27. Papers ● ● ● ● ● ● Kaltenbrunner, M., Bovermann, T., Bencina, R., Costanza, E.: "TUIO - A Protocol for Table-Top Tangible User Interfaces". Proceedings of the 6th International Workshop on Gesture in Human-Computer Interaction and Simulation (GW 2005), Vannes, France, 2005 Kaltenbrunner, M., Bencina, R.: "reacTIVision: A Computer-Vision Framework for Table-Based Tangible Interaction". Proceedings of the first international conference on "Tangible and Embedded Interaction" (TEI07). Baton Rouge, Louisiana, 2007 Wright, M., Freed, A., Momeni A.: "OpenSound Control: State of the Art 2003". Proceedings of the 3rd Conference on New Instruments for Musical Expression (NIME 03), Montreal, Canada, 2003. Kaltenbrunner, M. "reacTIVision and TUIO: A Tangible Tabletop Toolkit", Proceedings of the ACM International Conference on Interactive Tabletops and Surfaces (ITS2009). Banff, Canada. Kaltenbrunner, M. & Bencina, R. "reacTIVision: A Computer-Vision Framework for Table-Based Tangible Interaction", Proceedings of the first international conference on "Tangible and Embedded Interaction (TEI07). Baton Rouge, Louisiana. Bencina, R. & Kaltenbrunner, M. "The Design and Evolution of Fiducials for the reacTIVision System", Proceedings of the 3rd International Conference on Generative Systems in the Electronic Arts (3rd Iteration 2005), Melbourne (Australia) 23 ottobre 2013 Limulo @ Electropark 2013 27
  • 28. Bibliografia e letture consigliate ● J. Kreidler, “loadbang”, 2009, wolke ● A. Farnell, “”Designing Sound”, 2010, MIT Press ● Wilson, Cottle, Collins, “”The SuperCollider Book”, 2011, MIT Press ● H. Scildt, “”The Complete Reference C++”, 2003, McGraw Hill ● D. Shiffman, “”Learning Processing”, 2008, Morgan Kaufmann ● J. Noble, “”Interactivity”, 2009, O'Reilly 23 ottobre 2013 Limulo @ Electropark 2013 28