Prototipo3 - limulo at electropark 2013

28
Architettura del tavolo

description

slide realtive al prossimo workshop di Limulo presso la Sala Dogana a Genova il 26/10/2013 in occassione del festival Electropark 2013 organizzato dai ragazzi del collettivo Forevergreen.fm. Workshop "Prototipo 3, ovvero il diario di bordo per la realizzazione di una superficie interattiva". Un racconto delle idee, delle sfide, del percorso che da una proposta semiseria ha portato alla costruzione di un vero strumento polifunzionale, interattivo, divertente, colorato, rumoroso. A cura di Limulo Lab qui il link per l'articolo completo sul sito: http://www.limulo.net/limulo-electropark-2013 .

Transcript of Prototipo3 - limulo at electropark 2013

Page 1: Prototipo3 - limulo at electropark 2013

Architettura del tavolo

Page 2: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 2

Architettura del tavoloImmagini nel visibile

Proiezione del l ' immagine visibi le sul la superficie

Componenti:

✗ Proiettore Acer s1210

✗ Lastra in Plexiglass PMMA

✗ Foglio di frost 129 heavy frost

Page 3: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 3

Architettura del tavoloImmagini nell'infrarosso

Ricezione del l ' immagine

Componenti:✗ Videocamera PS3Eye

Page 4: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 4

Architettura del tavoloImmagini nell'infrarosso

I l luminazione nel range IR

Componenti:✗ 4 illuminatori infrarossi

Page 5: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 5

Architettura del tavoloPerché l'illuminazione IR?

✗ Range dell'infrarosso (a partire da 850 nm circa)Ricezione dell'immagine relativa allo stato della superficie

✗ Range del visibileDisplay di un'interfaccia grafica coerente con lo stato della superficie

Approfondimenti: lucidscience.com

Page 6: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 6

Architettura del tavolops3Eye

✗ 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

Page 7: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 7

Architettura del tavoloVisione 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!!!)

Page 8: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 8

Architettura del tavoloTentativi 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)

Page 9: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 9

Range Visibile

Client

Range IR

Server

Page 10: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 10

Architettura softwareclient - server

Server: gestore di serviziClient: 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

Page 11: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 11

Architettura softwareprotocolli 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

Page 12: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 12

Architettura softwareprotocolli e formattazione

Appl icazioneProtocol lo strato appl icazione

Protocol lo strato trasporto

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 DNS tipicamente UDP

Fon

te: w

ikip

edia

Page 13: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 13

Architettura softwareOSC e TUIO

OSC (Open Sound Control)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).

TUIOTUIO

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

Page 14: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 14

Architettura softwareTUIO v1.1

Anatomia di un messaggio TUIO

[src]/[alive]/[set]/[fseq]

Src = sorgente TUIO

Al ive = 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, ...

Page 15: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 15

Architettura softwareil 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.

Page 16: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 16

Architettura softwareI fiducial marker

Marker visivi univocamente riconoscibili da un sistema di computer vision

Evoluzione dei fiducial:

ARToolKit

d-touch

Amoeba (miglioramento del dtouch algortimo genetico)→

Page 17: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 17

Architettura softwareI fiducial marker: ARToolKit

Page 18: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 18

Architettura softwareI fiducial marker: d-touch

Page 19: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 19

Architettura softwareI fiducial marker: amoeba

Page 20: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 20

Architettura softwareIl nostro setup

WAN

LAN

Page 21: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 21

Architettura softwareIl nostro setup

Page 22: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 22

Architettura softwareIl nostro client

✗ Processing

✗ Cinder

✗ openFrameworks

Quali strumenti utilizzare?

✗ PureData

✗ SuperCollider

Page 23: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 23

Architettura softwareIl nostro client - PureData

I suoni sono generati in tempo reale (audio procedurale)

Page 24: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 24

Architettura softwareIl 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

Page 25: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 25

Architettura softwareIl nostro client - addons

Problemi Soluzioni

Distorsione ottica della lente grandangolare

Ottimizzazione della posizione relativa della telecamera

Posizionamento angolato del proiettore

Keystone software

Distorsione sonora Matrice di mappatura dei suoni

Riflessi degi illuminatori Angolazione degli illuminatori e riposizionamento della telecamera

Surriscaldamento interno del tavolo

Applicazione di due ventola di raffreddamento

Page 27: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 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)

Page 28: Prototipo3 - limulo at electropark 2013

23 ottobre 2013 Limulo @ Electropark 2013 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