Home » n. 77 gennaio/febbraio

Il Design di WiRoni: hardware, software e interfaccia utente

5 marzo 2012 | MAURIZIO CAPORALI, UNIVERSITÀ DEGLI STUDI DI SIENA
Abstract. In questo articolo presentiamo il progetto WiRoni, che affronta il design tecnologico di artefatti che permettono di accedere ai contenuti Internet in uno spazio pubblico attraverso delle interazioni naturali. Per fare questo abbiamo utilizzato tre tecnologie abilitanti: sensori a ultrasuoni, MEMS e mash-up di applicazioni Internet. Queste tecnologie sono state scelte in base alla natura dell’attività umana, e non viceversa, permettendo un’interazione il più possibile naturale e legata al luogo e all’attività svolta dall’utente.
I concetti sui quali il progetto si basa sono Ubiquitous Computing, Tangible User Interface, Pervasive Computing, e Internet of Things, questi vanno tutti nella stessa direzione, cioè che i computer, telefoni e console di gioco non sono più gli unici dispositivi nel nostro ambiente che hanno potenza di calcolo e che offrono la possibilità di essere connessi alla rete Internet.
Nell’articolo saranno presentate le scelte tecnologie, che sono alla base del progetto e del concetto delle fontane, che permettono di gestire i servizi legati a WiRoni.
 
Parole chiave: spazi pubblici, Interaction Design, Internet of Things, Ubiquitous Computing, Tangible User Interface, Pervasive Computing.
 
Summary. In this article we present the Wironi project, which addresses the technological design of artifacts that provide access to the Internet content in a public environment by means of natural interactions. To do this we used three enabling technologies: ultrasonic sensors, MEMS, and a mash-up of Internet applications. These technologies have been selected on the basis of human activity nature, and not vice versa, allowing a natural interaction related to the place and activity performed by the user. The concepts on which the project is based are Ubiquitous Computing, Tangible User Interface, pervasive computing, and Internet of Things. These all are in the same direction, that is that computers, phones and game consoles are no longer the only devices in our environment having computing power and providing the possibility to be connected to the Internet.
The article will also present the concept of fountains, which allows the management of services related to Wironi.
 
Keywords: public environment, Interaction Design, Internet of Things, Ubiquitous Computing, Tangible User Interface, Pervasive Computing.
 
Introduzione
I concetti alla base dello sviluppo di WiRoni, e più in generale per il design delle fontane (1), emergono dalle ricerche su Ubiquitous Computing, Tangible User Interface, Pervasive Computing, e Internet of Things.
Nel 1993 Mark Weiser (Weiser, 1993) presenta una visione della tecnologia digitale, dove i computer sono integrati negli oggetti di uso quotidiano e sono presenti in maniera ubiquitaria nell’ambiente. L’Ubiquitous Computing (ubicomp) sta rendendo questa visione reale, attraverso lo sviluppo di tecnologie invisibili integrate nell’ambiente, che consentono un modello di interazione basato sulla manipolazione fisica di oggetti. Questo approccio modifica le modalità di interazione delle persone con lo spazio fisico e cambia le modalità di svolgimento delle loro attività. Gli oggetti di uso quotidiano, una volta che sono potenziati dalla tecnologia digitale embedded (incorporata), non sono più gli stessi, e anche le azioni che consentono cambiano.
I paradigmi di Tangible User Interface (TUI) (Ullmer e Ishii, 2000) e Physical Computing (O'Sullivan e Igoe, 2004) vanno a definire la combinazione di calcolo digitale e lo stato fisico dei dispositivi ai quali, aggiungendo la connettività alla rete Internet, si va a costituire il substrato di quello che è stato nominato Everyware (Greenfield, 2006).
L'Internet of Things (IOT) combina la potenza di Internet (contenuti e servizi) con oggetti di uso quotidiano che sono aumentati da microcontrollori, processori e sensori, dando un potere computazionale all’oggetto, rendendolo capace di catturare delle informazioni dallo stato fisico e di condividerle con altri oggetti attraverso la rete Internet. Per esempio la tecnologia di rilevamento a radio frequenze RFID permette di associare contenuti digitali a un oggetto. Il tag RFID può essere integrato in qualsiasi tipo di oggetto, come per esempio un bastone di legno (Caporali et al., 2005), permettendo a questo oggetto di essere collegato a contenuti provenienti dalla rete Internet.
Per l’Internet of Things i sensori sono molto importanti, perché sono in grado di rilevare lo stato fisico delle cose e di comunicare eventuali modifiche. Così, i sensori raccolgono i dati ambientali, consentendo agli oggetti di rispondere ai cambiamenti e di attivarsi rispetto al contesto. Per esempio, l’integrazione delle informazioni locali e globali è una caratteristica di Aware-Umbrella (Vazquez e Lοpez de Ipina, 2008), un ombrello che unisce le informazioni meteo correnti con le previsioni del tempo su Internet e, nel caso di pioggia imminente, si illumina sul manico per ricordare all’utente di portarlo con sé.
Una prospettiva interessante è il collegamento di questi artefatti aumentati e pervasivi con i servizi Web 2.0 e le opportunità che offrono. Il Web 2.0 apre nuove opportunità non solo nel recupero di contenuti Internet, ma anche per la produzione di contenuti, nonché la creazione di reti sociali legate allo spazio fisico e a interazioni più naturali e dirette con gli oggetti.
Di seguito sarà descritto nel dettaglio il sistema WiRoni, che è un arredo urbano aumentato da sensori, microcontrollori, processori e connesso alla rete Internet.
 
Panoramica del sistema
L’hardware alla base di WiRoni è costituito da sensori per catturare le interazioni degli utenti, un microcontrollore per la gestione dei dati che arrivano dai sensori, un computer che elabora i dati che arrivano dai microcontrollori e gestisce i contenuti che devono essere presentati all’utente e delle casse audio amplificate. Oltre a questa architettura di base è stata aggiunto un controllore per la gestione dell’illuminazione, nonché microfono, IP Camera, rete in fibra ottica, switch di rete e access point wi-fi.
I sensori installati sono tre sensori a ultrasuoni che registrano la presenza di un oggetto fisico nell’area di sensibilità e inviano questi dati al microcontrollore che a sua volta trasmette i valori di distanza al computer. L’applicazione software in esecuzione sul computer ascolta i dati inviati dal microcontrollore e mette a confronto i dati ricevuti a modelli predefiniti che costituiscono i gesti di comando. Quando l’ingresso corrisponde a un modello definito di gesto, una subroutine esegue l’azione appropriata di riproduzione.
I tre sensori a ultrasuoni sono installati a circa 180 cm di altezza su una fascia più stretta rispetto alla struttura (Fig. 1), questi  moduli a ultrasuoni emettono onde ultrasoniche che hanno un cono con angolo di circa 30°, la distanza con cui sono posizionati l’uno dall’altro permette di non avere sovrapposizioni dei coni fino a circa 50 cm da WiRoni. Quando un ostacolo si trova di fronte ai sensori, le onde a ultrasuoni colpiscono l’oggetto e rimbalzano tornando al sensore; ciò fornisce il tempo di ritorno, che viene convertito in una distanza tra il sensore e il più vicino oggetto fisico nel raggio di sensibilità del sensore. Il raggio di sensibilità di questi sensori è di 350 cm, quindi se non hanno nessun ostacolo di fronte restituiranno la distanza di 350 cm. I dati del sensore vengono ricevuti da un microcontrollore, nel nostro caso è stato utilizzato Arduino (Banzi, 2008), che converte i dati in un intero indicante il numero di centimetri tra il sensore e l’oggetto. Il microcontrollore cattura continuamente i dati che provengono dai sensori e poi crea la stringa che mette insieme i tre valori interi provenienti dai tre sensori. Arduino trasmette la stringa tramite la porta USB e così ricomincia il ciclo. Il software di riproduzione in ascolto dei dati inviati sulla porta USB da Arduino li analizza per riconoscere i gesti. Come vedremo di seguito è grazie a questo flusso costante di dati ricevuti dai sensori e dalla loro analisi fatta dal computer che WiRoni riesce a reagire ai gesti che vengono fatti dagli utenti di fronte a WiRoni.
Il sistema di uscita audio è fondamentale per WiRoni essendo l’output principale. Nelle installazioni da esterni sono state utilizzate delle casse resistenti alle intemperie con amplificazione separata. L’amplificatore è collegato al computer che gestisce il player audio.
Il sistema di illuminazione di WiRoni è costituito da tre strisce di Led a luce bianca calda inserite nella base, nella parte intermedia e nella fessura dove si trovano i sensori. Questi Led sono controllati da un Arduino, che riceve gli input dal computer: se il sistema è in standby fa partire un effetto a luce pulsante molto lenta, mentre quando WiRoni è attivo le pulsazioni diventano più rapide e si differenziano rispetto ai canali. Le luci danno un effetto di «vita» alla struttura che, anche se non emette suoni, pulsa per attirare l’attenzione.
All’interno di WiRoni è stato inserito un microfono e una telecamera, che hanno la funzione di ricerca interna per testare il sistema e per verificare nuove funzionalità, quindi sono spenti e vengono attivati solo per sessioni di test interni. La telecamera di tipo IP è collegata  tramite cavo di rete (RJ45) alla rete privata del sistema. A questa è stato assegnato un IP per poterla raggiungere e configurare tramite rete locale. La telecamera è stata posizionata internamente sopra i sensori a un’altezza di circa 200 cm per offrire una visuale sull’area di interazione. Il microfono ha la funzione cattura audio per i test del sistema, ma ha anche la funzione di connettere la struttura a un sistema di Voice Over IP, dando la possibilità di chiamare WiRoni con Skype attraverso uno smartphone, un computer o un altro WiRoni. Questi servizi non sono ancora attivi ma in fase di sperimentazione.
La connettività è fondamentare per WiRoni, questa è abilitata da un cavo in fibra che ha portato la rete sul parco dagli edifici comunali adiacenti. Il cavo in fibra arriva fino a uno switch di rete che connette: computer, telecamera e access point Wi-Fi. L’access point Wi-Fi dà una connettività Wireless aperta alle persone che si trovano nel parco.
Fig. 1 Architettura del sistema
 
La struttura fisica di WiRoni è costituita da un totem di metallo che contiene i sensori, microcontrollori, Led di illuminazione alimentati a 12V. Il computer e il sistema di amplificazione audio si trovano in un casottino adiacente alla struttura principale di WiRoni. Gli altoparlanti sono stati inseriti all’interno delle sedute metalliche che circondano la struttura (Fig. 2), tutti i cavi corrono sotto terra. L’area di ascolto è delimitata delle sedute metalliche con la stessa lavorazione del totem.
Fig. 2 L’installazione di WiRoni nel parco.
 
I gesti e il loro riconoscimento
I tre sensori a ultrasuoni sono l’interfaccia con lo spazio fisico di WiRoni, questi, come abbiamo detto, riescono a identificare la presenza nelle vicinanze del totem degli utenti, e in particolare a catturare i gesti fatti dagli utenti davanti al totem. Una volta che i movimenti vengono convertiti in distanza numerica, il riconoscimento dei gesti è una questione di riconoscimento di posizioni nel tempo, in cui i valori delle stringhe di dati in arrivo vengono confrontati con i valori delle stringhe di dati precedenti.
L’applicazione che gira sul computer riconosce dei modelli predefiniti, che si distinguono essenzialmente per distanza e tempo. Le distanze vengono classificate in macroaree, in modo che il programma può assumere valori vero/falso in funzione della posizione dell’utente rispetto a WiRoni. Le distanze di interazione sono molto importanti e sono state raffinate di volta in volta rispetto ai test sui prototipi e alle esigenze di sistema. Nel sistema attuale le distanze d’interazione sono state semplificate portando la distanza 0-50 cm ad area attiva in cui le stringhe catturate assumono valore vero e, per distanze superiori ai 50 cm, valore falso. Questo è stato fatto per evitare la sovrapposizione sia di gesti che vengono compiuti da più persone contemporaneamente, sia di aree attive per gli ultrasuoni (come descritto precedentemente). Nei primi prototipi venivano distinte tre distanze principali di interazione per avere maggiori aree sensibili.
Le interazioni dell’utente vengono comprese dal sistema grazie ai dati provenienti dai sensori, che vengono riconosciuti come «attivati» dalla terna che riceve il computer da Arduino. Per esempio la terna (350-4-350) indica che davanti al sensore 1 e al sensore 3 non c’è nulla essendo 350 cm il valore di fine sensibilità degli ultrasuoni, invece il sensore 2 ha incontrato una superficie a 4 cm. Per distinguere dei gesti diventa fondamentale analizzare queste terne nel tempo, per esempio possiamo verificare se una mano sta 3 secondi davanti al sensore 1 e associare a questa attività un output al nostro sistema. Questa verifica viene fatta dal software che deve ricevere valori tra 0-50 cm dal sensore 1 e valori superiori a 50 cm (normalmente 350 cm, ma come detto precedentemente i valori superiori ai 50 cm sono stati scartati per evitare errori) sui sensori 2 e 3 per 3 secondi. Altra modalità di classificazione dei gesti è data da una sequenza di terne che indicano un rapido passaggio di una mano o di un oggetto da un sensore a un altro, queste tipologie di terne sono per esempio (3-350-350), (350-7-350), (350-350-5) catturate ai tempi t1, t2, t3 molto ravvicinati (circa 1 secondo) che stanno a indicate che un oggetto è passato dal primo, al secondo, al terzo sensore.
Detto questo andiamo a descrivere quali sono attualmente i gesti riconosciuti da WiRoni e quale è l’output:
1. Gesto accensione: questo è un gesto molto importante che ha avuto una certa evoluzione, e può variare dal contesto di installazione. Inizialmente WiRoni veniva acceso tenendo la mano di fronte a uno qualsiasi dei sensori per più di 3 secondi, ora è stato sostituito dalla semplice attivazione di almeno un sensore, cioè dalla ricezione di un valore diverso da 350 (in questo caso non si tiene in considerazione la distanza massima di 50 cm). Questo è stato fatto per dare una maggiore reattività al sistema. All’accensione WiRoni risponde all’utente attraverso una voce che dice «WiRoni On» e fa partire l’ultimo canale ascoltato.
2. Gesto selezione canale: WiRoni ha tre canali audio corrispondenti ai tre sensori, questi vengono selezionati tenendo la mano di fronte al sensore per 2 secondi. Questi gesti devono essere eseguiti di fronte a WiRoni e a una distanza massima di 50 cm dai sensori. Per selezionare il canale 3 i dati che riceve il computer sono delle terne di questo tipo: (350-350-x1) … (350-350-xn) con x1… xn < 50, rispettivamente ai tempi t1… tn con tn-t1 < 2 secondi. I canali audio corrispondono a una serie di 12 file audio di una stessa categoria o a una serie di 12 indirizzi di Web Radio. Alla selezione di un canale viene fatto partire un file audio che descrive il canale, per esempio «Canale Podcast» e poi automaticamente parte il primo file che compone il canale o la prima radio in streaming.
3. Sfogliamento dei contenuti del canale: passando la mano di fronte al sensore centrale e poi spostandola a destra/sinistra passando davanti al sensore di destra/sinistra, questo viene interpretato dal software come un gesto di scorrimento in avanti/indietro dei brani audio del canale (Fig. 3). I gesti devono essere fatti con una certa rapidità, il passaggio da un sensore a un altro deve essere inferiore a 1 secondo, questo permette di distinguere il gesto di sfogliamento da eventuali interferenze. Come detto in precedenza questi gesti devono avvenire a una distanza minore di 50 cm dai sensori. Riconosciuto il gesto dal software, questo invierà l’effetto audio di sfogliamento di una pagina di carta, che dà all’utente il feedback della buona riuscita del gesto e farà partire il brano seguente o successivo rispetto alla direzione del gesto.
4. Gesto spegnimento: per spegnere WiRoni bisogna tenere la mano di fronte al sensore del canale attivo per più di 2 secondi. Lo spegnimento avviene anche in maniera automatica dopo 20 minuti dall’ultima attivazione di un sensore, in maniera tale da disattivare l’audio se non c’è più attività di fronte al totem. Durante la notte, WiRoni è stato programmato per spegnersi alle 23:00.  Prima dello spegnimento una voce dice «WiRoni Off».
 
Queste soluzioni di interaction design sono state concepite per soddisfare e potenziare le azioni umane e sono emerse dalle varie fasi di sviluppo dei mock-up.
 
Fig. 3 I sensori e il sistema di browsing dei contenuti.
 
 
I contenuti e la loro gestione
I contenuti disponibili per l’ascolto attraverso WiRoni vengono gestiti attraverso un servizio web molto semplice da utilizzare che permette di aggiornare i contenuti direttamente dai dipendenti del Comune o dagli utenti che hanno accesso al servizio. Gli editori dei contenuti di WiRoni hanno la possibilità di aggiornare l’elenco delle stazioni radio, aggiungere feed RSS alla lista dei podcast, e creare nuovi feed di contenuti personalizzati attraverso un sistema di gestione dei contenuti. L’upload dei file audio viene fatto in maniera molto rapida e semplice selezionando il file mp3 direttamente dal computer e inserendolo in un post che può essere associato a una categoria che definisce dinamicamente il podcast (Fig. 4).
 
Fig. 4 Selezione del file audio salvato sul computer e creazione della voce per il podcast.
 
I tre canali di WiRoni sono descritti da tre file XML che sono memorizzati sul server di amministrazione e vengono aggiornati e scaricati direttamente da WiRoni. I file XML sono di due tipologie: uno fornisce l’elenco aggiornato degli streaming radio e l’altro presenta l’elenco aggiornato dei podcast, che sono descritti attraverso degli indirizzi Internet (URI) che fanno riferimento ai feed RSS dei podcast. Di notte il computer di WiRoni scarica i file XML e li analizza verificando gli aggiornamenti dei podcast e scarica l’ultima traccia audio di ciascuno. Al termine di questo processo, i file audio sono sincronizzati con il servizio web e sono pronti per la riproduzione; gli ultimi file audio che sono stati pubblicati sulla piattaforma web di WiRoni sono ora disponibili per ascolto direttamente nel parco.
WiRoni permette di ascoltare 12 file per canale, sono quindi disponibili solo gli ultimi 12 file pubblicati sulla piattaforma e, per dare un accesso più pervasivo ai contenuti, è stata sviluppata un’applicazione Mobile per iPhone e Android (Fig. 5) scaricabile dai rispettivi store cercando «wironi». L’applicazione permette di navigare su tutte le categorie di contenuto e ascoltare lo streaming audio desiderato.
 
Fig. 5 Applicazione mobile per iPhone e per Android.
 
 
Note
(1) Si veda l’articolo AA.VV., Come nasce il progetto WiRoni?, in questo stesso numero di Form@re.

Bibliografia
Banzi M. (2008), Getting Started with Arduino, Make Books, O'Reilly Media, Sebastopol, CA.
Caporali M., Rizzo A. e Rubegni E. (2005), Interacting by meaningful actions. In G. Salvendy (ed.), Human Computer International 2005, Mahwah: Erlbaum.
Greenfield A. (2006), Everyware: The Dawning of Ubiquitous Computing, Indianapolis: New Riders.
O’Sullivan D. e Igoe T. (2004), Physical Computing, Boston: Thompson.
Ullmer B. e Ishii H. (2000), Emerging frameworks for tangible user interfaces, «IBM Systems Journal», vol. 39, pp. 915-931.
Vazquez J.I. e López de Ipiña D. (2008),  Social devices: Autonomous artifacts that communicate on the Internet, Internet of Things 2008, First International Conference, IOT 2008, Zurich, Switzerland, March 26-28, 2008, Proceedings, Springer Lecture Notes, «Computer Science», vol. 4952.
Weiser M. (1993), Ubiquitous computing, «Computer, Communication of the ACM», vol. 26, pp. 71-72.

<< Indietro Avanti >>