+ All Categories
Home > Documents > DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The...

DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The...

Date post: 04-Sep-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
195
POLITECNICO DI MILANO Facoltà di Ingegneria dell’Informazione Corso di Laurea Magistrale in Ingegneria Informatica DOLPHIN SAM: A SMART PET FOR CHILDREN WITH INTELLECTUAL DISABILITY Relatore: Prof.ssa Franca Garzotto Correlatore: Dott. Ing. Mirko Gelsomini Tesi di Laurea di: Simone Colombo, matricola 822620 Mattia Melli, matricola 803800 Anno Accademico 2015 – 2016
Transcript
Page 1: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

POLITECNICO DI MILANO Facoltà di Ingegneria dell’Informazione

Corso di Laurea Magistrale in Ingegneria Informatica

DOLPHIN SAM: A SMART PET FOR CHILDREN WITH

INTELLECTUAL DISABILITY

Relatore: Prof.ssa Franca Garzotto

Correlatore: Dott. Ing. Mirko Gelsomini

Tesi di Laurea di:

Simone Colombo, matricola 822620

Mattia Melli, matricola 803800

Anno Accademico 2015 – 2016

Page 2: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,
Page 3: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

I

Sommario

I bambini con disabilità intellettive (ID) e con disordini dello spettro autistico

(ASD) sono caratterizzati da limitazioni nelle loro capacità cognitive e

comunicative, verbali o non verbali, da difficoltà nell’interazione sociale e da

pattern ripetitivi di comportamento.

L’innovazione tecnologica e la pervasività dei dispositivi informatici hanno

permesso di integrare strumenti tecnici all’interno dei processi di cura: la

tecnologia assume così un ruolo determinante per le terapie moderne.

Attraverso l’attività ludica e l’interazione con gli smart object, i bambini hanno la

possibilità di apprendere nuove conoscenze e migliorare le proprie capacità.

Ispirati dalle terapie con smart object già esistenti e dalla Delfinoterapia, lo scopo

della nostra tesi è stato quello di sviluppare un delfino giocattolo intelligente

chiamato SAM, che coinvolge i bambini in giochi e attività terapeutici.

SAM produce diversi stimoli in risposta alla manipolazione da parte dei bambini. I

comportamenti del delfino sono integrati con luci ed animazioni multimediali

mostrate a schermo e all’interno dell’ambiente.

Una web application gestisce l’insieme di tutte le attività e permette di creare e

modificare nuovi giochi per avvicinarsi alle necessità specifiche di ogni bambino. Il

delfino può essere utilizzato in modalità autonoma, eseguendo cioè comportamenti

predefiniti, o in modalità integrata, in connessione a una web application

all’interno di uno smart space.

Finora Dolphin Sam è stato utilizzato in due centri terapeutici diversi, Sam

Foundation (Amstelveen, Olanda) e L’Abilità (Milano, Italia). Il progetto ha

coinvolto bambini di età compresa tra i 2 e i 12 anni. I bambini affetti da disabilità

più gravi utilizzano Dolphin Sam in modalità autonoma, mentre i bambini con

disabilità meno gravi utilizzano la modalità integrata.

Studi empirici sono ancora in corso, ma già dalle prime fasi della sperimentazione

è stato notato un forte miglioramento nel coinvolgimento comunicativo e sociale

dei pazienti.

Il prodotto realizzato è molto valido e presenta già nella sua forma attuale una

vasta gamma di comportamenti e la possibilità di creare attività personalizzate e

diversifica

Page 4: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,
Page 5: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

III

Abstract

Children with intellectual disabilities (ID) and with autism spectrum disorder

(ASD) lack cognitive and communicative (verbal or non-verbal) abilities. They

suffer from difficulties in social interaction and repetitive behaviours.

Technological innovation and computing devices pervasiveness allow to integrate

technical tools in care processes. So technology plays a significant role in modern

therapies.

Through recreational activities and interaction with smart objects, children can

expand their knowledge and improve their abilities.

Inspired by already existing therapies with smart objects and by dolphin therapy,

the aim of our thesis is to develop a smart dolphin-shaped toy called SAM, which

engages children in games and therapeutic activities.

SAM emits different stimuli when it is handled by children. The dolphin behaviours

are integrated with lights and multimedia animations showed on a screen and

inside the environment.

A web application manages all the activities and enables to create and edit new

games to meet the special needs of each child. The dolphin can be used in

autonomous mode, performing a set of default behaviours, or in integrated mode,

connected to the web application inside a smart space.

Dolphin Sam has been used in two therapeutic centres, so far, Sam Foundation

(Amstelveen, Netherlands) and L’Abilità (Milan, Italy). The project involved from 2

to 12-year-old children. Children suffering from most serious disabilities used

Dolphin Sam in autonomous mode, while those with mild disabilities used it in

integrated mode.

The empirical study is still being carried on, but a great improvement in

communication involvement and social engagement has already been noticed in

patients during initial experimental stages.

The product we realized is convincing and already offers a broad set of different

behaviours in its current form and allows to create a lot of different and customize

activities.

Page 6: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,
Page 7: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

V

Ringraziamenti

Lo sviluppo di questa tesi ha coinvolto molte persone, alcune in maniera diretta,

altre in modo indiretto, ma ugualmente importante: senza il loro aiuto non

saremmo mai riusciti a raggiungere questo traguardo.

In queste poche righe vorremo ringraziare tutti coloro che per un motivo o per l’altro ci sono stati vicini, si sono interessati al nostro lavoro e hanno contribuito a portare a termine questo progetto. Un immenso grazie alle nostre famiglie, senza le quali non avremmo nemmeno potuto incominciare questa carriera. Grazie per averci sempre sostenuto, anche nei periodi più difficili, e per averci formato non solo come studenti ma soprattutto come persone.

Un profondo e sincero ringraziamento va alla Professoressa Garzotto. Grazie per

averci permesso di affrontare una tesi su un argomento che fin dal primo istante ci

ha catturati e appassionati e per aver sempre creduto in noi.

Un enorme grazie a Mirko per il suo incoraggiamento e per l'infinita disponibilità

che ha sempre mostrato nei nostri confronti, nonostante la lontananza geografica.

Grazie a Francesco per averci più volte aiutato a sciogliere i nostri dubbi e per

averci seguito durante tutto il lavoro.

Grazie a Diego per la sua gratuita disponibilità e a tutto il personale dell'i3Lab e

dell’HOC Lab, per averci fatto sentire a casa durante tutto il periodo di tesi.

Un grazie particolare va a Carlo Riva e a tutti gli educatori dell’associazione

L'abilità Onlus per la costante disponibilità, per tutti i consigli e le osservazioni.

Grazie, infine, a tutti agli amici e colleghi che ci hanno accompagnato durante

l’intero percorso universitario: Mosco, Tore, Pontz, Molte, Luca, Giulia e Gabri.

Simone & Mattia

Page 8: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,
Page 9: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

VII

Indice

Sommario I

Abstract III

Ringraziamenti V

Elenco delle figure XI

Elenco delle tabelle XV

1 Introduzione ..................................................................................................................................... 1

1.1 Contesto ..................................................................................................................................... 1

1.2 Obiettivo .................................................................................................................................... 2

1.3 Struttura della tesi ................................................................................................................. 3

2 Stato dell’Arte .................................................................................................................................. 5

2.1 Disabilità Intellettiva e autismo ....................................................................................... 5

Definizione ....................................................................................................................... 5

Cause .................................................................................................................................. 7

Statistiche ......................................................................................................................... 8

Terapia e riabilitazione ............................................................................................... 9

Pet Therapy ...................................................................................................................12

2.2 Tecnologia Pervasiva ..........................................................................................................14

Smart Object e Internet of Things (IoT) .............................................................14

Smart Lights ..................................................................................................................15

Smart Plug ......................................................................................................................16

Arduino ............................................................................................................................16

2.3 Smart Object e Terapia ......................................................................................................17

Magic Ball .......................................................................................................................17

Leka ...................................................................................................................................19

Paro ...................................................................................................................................20

3 Analisi dei requisiti ......................................................................................................................21

3.1 L’Abilità ....................................................................................................................................21

3.2 SAM Foundation ...................................................................................................................22

Page 10: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

VIII

3.3 Sperimentazioni ...................................................................................................................23

SAM Foundation & Delfinoterapia ........................................................................23

Magic Ball .......................................................................................................................25

3.4 Stakeholder ............................................................................................................................26

3.5 Requisiti ...................................................................................................................................27

3.6 Linee Guida per il Design ..................................................................................................30

4 UX Design ........................................................................................................................................33

4.1 Concept ....................................................................................................................................33

4.2 Sistema Dolphin Sam ..........................................................................................................35

Autenticazione Utente ...............................................................................................37

Connessione delfino ...................................................................................................40

Ambiente.........................................................................................................................43

4.3 Modalità Autonoma.............................................................................................................46

4.4 Modalità Integrata ...............................................................................................................47

Dolphin Behaviors .......................................................................................................47

Creazione Attività ........................................................................................................48

Esecuzione Attività .....................................................................................................52

Esempi di attività .........................................................................................................55

5 Implementazione Hardware ....................................................................................................57

5.1 Componenti e metodi di comunicazione ....................................................................57

Comunicazione .............................................................................................................57

Componenti ...................................................................................................................60

5.2 Alimentazione Dolphin Sam ............................................................................................85

Prototipo .........................................................................................................................85

Studio dei consumi ......................................................................................................86

Soluzione ........................................................................................................................87

Ricarica Dolphin Sam .................................................................................................87

5.3 Progettazione Hardware ...................................................................................................89

Circuito prototipo ........................................................................................................89

Circuito definitivo........................................................................................................91

Circuito Definitivo con componenti .....................................................................95

5.4 Realizzazione fisica di Dolphin Sam .............................................................................97

Scocca esterna ..............................................................................................................97

Page 11: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

IX

Posizionamento sensori e attuatori .....................................................................98

Pannello...........................................................................................................................99

6 Implementazione Software ................................................................................................... 101

6.1 Arduino ................................................................................................................................. 101

Costanti, variabili globali e oggetti .................................................................... 102

Setup .............................................................................................................................. 104

Modalità Autonoma ................................................................................................. 104

Modalità Integrata .................................................................................................... 105

Procedure e funzioni ............................................................................................... 105

6.2 Web Application ................................................................................................................ 106

Struttura della Web Application ......................................................................... 106

Database ....................................................................................................................... 110

ECA Rules ..................................................................................................................... 118

Creazione e modifica delle attività .................................................................... 125

Comunicazione in Dolphin Sam .......................................................................... 137

Svolgimento di un’attività ..................................................................................... 139

Connessione a Hue e Smart Plug ........................................................................ 145

7 Sperimentazione ........................................................................................................................ 149

7.1 Il progetto della sperimentazione .............................................................................. 149

7.2 Fasi e tempistiche ............................................................................................................. 149

7.3 Soggetti coinvolti .............................................................................................................. 150

7.4 Ambiente della sperimentazione ................................................................................ 150

7.5 Comportamento operatore ........................................................................................... 151

7.6 Raccolta dati........................................................................................................................ 152

8 Conclusioni .................................................................................................................................. 153

8.1 Sviluppi Futuri ................................................................................................................... 154

Bibliografia ........................................................................................................................................ 155

Appendice .......................................................................................................................................... 158

Page 12: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

X

Page 13: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

XI

Indice delle figure Fig. 2.1-1: Ombrello dell’Autism Spectrum Disorder ............................................................. 6

Fig. 2.1-2: Triade sintomatologica dello spettro autistico ................................................... 6

Fig. 2.1-3: Esempio di carte PECS .................................................................................................. 9

Fig. 2.1-4: Floortime ..........................................................................................................................11

Fig. 2.2-1: Luce Philips Hue Go .....................................................................................................15

Fig. 2.2-2: Smart Plug Kankun .......................................................................................................16

Fig. 2.2-3: Arduino Uno ....................................................................................................................16

Fig. 2.3-1: Magic Ball .........................................................................................................................18

Fig. 2.3-2: Esempio di attività di Magic Ball .............................................................................18

Fig. 2.3-3:Leka .....................................................................................................................................19

Fig. 2.3-4: Paro ....................................................................................................................................20

Fig. 3.3-1: Bambino che, assieme al terapista, dà da mangiare al delfino ....................24

Fig. 3.3-2: Bambini alle prese con le attività di Sam Foundation ....................................24

Fig. 3.3-3: Bambino alle prese con l’utilizzo della Magic Ball presso L’Abilità ..........25

Fig. 4.1-1: Dolphin Sam: smart object, web application e smart space. ........................34

Fig. 4.2-1: Sensori e attuatori di Dolphin Sam. .......................................................................36

Fig. 4.2-2: Flow Chart della registrazione di un utente al sistema. .................................38

Fig. 4.2-3: Schermate di registrazione ed autenticazione alla web application. .......39

Fig. 4.2-4: Flow Chart dell’autenticazione di un utente al sistema. ................................40

Fig. 4.2-5: Flow Chart della connessione del delfino alla rete. .........................................42

Fig. 4.2-6: Delfino connesso alla rete..........................................................................................43

Fig. 4.2-7: Connessione del delfino alla rete. ...........................................................................43

Fig. 4.2-8: Smart Plug e Bubble Machine ..................................................................................45

Fig. 4.4-1: Esempio di creazione di un’attività. ......................................................................51

Fig. 4.4-2: Download di una immagine. .....................................................................................52

Fig. 4.4-3: Selezione di un’attività................................................................................................53

Fig. 4.4-4: Schema di comunicazione. ........................................................................................54

Fig. 5.1-1: Comunicazione SPI. ......................................................................................................59

Fig. 5.1-2: Comunicazione I²C. ......................................................................................................59

Fig. 5.1-3: ESP8266. ..........................................................................................................................63

Fig. 5.1-4: Sketch: comunicazione ESP8266 con Arduino Mega. .....................................64

Fig. 5.1-5: Sketch: connessione rete WiFi. ................................................................................65

Fig. 5.1-6: Sketch: creazione server TCP/IP. ...........................................................................65

Fig. 5.1-7: Sketch: analisi dei comandi inviati all’ESP8266. ..............................................66

Fig. 5.1-8: Aggiornamento firmware ESP8266 .......................................................................67

Fig. 5.1-9: Aggiornamento firmware: Connessione ESP8266 - Arduino Uno .............68

Fig. 5.1-10: Tag RFID ........................................................................................................................69

Fig. 5.1-11: RFID reader RC522. ...................................................................................................70

Fig. 5.1-12: Sketch: Lettura UID tag. ...........................................................................................71

Fig. 5.1-13: MPU-6050-GY-521 .....................................................................................................72

Page 14: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

XII

Fig. 5.1-14: Sketch: Lettura valori accelerometro. ................................................................73

Fig. 5.1-15: Striscia LED NeoPixel. ..............................................................................................74

Fig. 5.1-16: Sketch: Controllo striscia LED NeoPixel. ...........................................................75

Fig. 5.1-17 Funzionamento ponte H. ..........................................................................................75

Fig. 5.1-18: L293NE. ..........................................................................................................................76

Fig. 5.1-19: Sketch: Controllo motore DC .................................................................................77

Fig. 5.1-20: Posizione Servomotore ............................................................................................79

Fig. 5.1-21: Sketch: Controllo Servomotore .............................................................................80

Fig. 5.1-22: DFPlayer Mini ..............................................................................................................81

Fig. 5.1-23: Tasto capacitivo. .........................................................................................................83

Fig. 5.1-24: Circuito tasti capacitivi ............................................................................................83

Fig. 5.1-25: Sketch: Controllo Sensori capacitivi ...................................................................84

Fig. 5.2-1: Prototipo alimentazione Dolphin Sam .................................................................86

Fig. 5.2-2: Circuito di alimentazione/ricarica .........................................................................88

Fig. 5.3-1: Progettazione prototipo del circuito. ....................................................................89

Fig. 5.3-2: Realizzazione prototipo del circuito......................................................................90

Fig. 5.3-3: Visuale interna del prototipo. ..................................................................................90

Fig. 5.3-4: Disegno del circuito con piste, componenti e connessioni. ..........................91

Fig. 5.3-5: Disegno del circuito con componenti e connessioni. ......................................91

Fig. 5.3-6: Disegno di stampa del circuito. ...............................................................................92

Fig. 5.3-7: Stampa circuito. .............................................................................................................93

Fig. 5.3-8: Sviluppo, risciacquo e attacco acido. .....................................................................94

Fig. 5.3-9: Circuito stampato. ........................................................................................................94

Fig. 5.3-10: Circuito definitivo con componenti. ....................................................................95

Fig. 5.3-11: Circuito definitivo visto da sotto. .........................................................................95

Fig. 5.3-12: Circuito realizzato con Fritzing.............................................................................96

Fig. 5.4-1: Sezione destra della scocca di Dolphin Sam .......................................................97

Fig. 5.4-2: Scocca completa di Dolphin Sam ............................................................................98

Fig. 5.4-3: Dolphin Sam ....................................................................................................................98

Fig. 5.4-4: Pannello di controllo di Dolphin Sam. ..................................................................99

Fig. 5.4-5: Dettaglio del pannello di controllo di Dolphin Sam. ..................................... 100

Fig. 6.1-1Esecuzione del programma su Arduino. ............................................................. 102

Fig. 6.1-2: Sketch: Dichiarazione oggetti. ............................................................................... 102

Fig. 6.1-3: Sketch: Dichiarazione costanti.............................................................................. 103

Fig. 6.1-4: Sketch: Dichiarazione variabili globali. ............................................................. 103

Fig. 6.1-5: Sketch: Setup. .............................................................................................................. 104

Fig. 6.1-6: Sketch: Procedure e funzioni. ................................................................................ 105

Fig. 6.2-1: Codice: Utilizzo di Bootstrap. ................................................................................ 107

Fig. 6.2-2: Codice: Gestione della web application mediante script jQuery. ............ 108

Fig. 6.2-3: Codice: Recupero dati inviati all’interno della HTTP Request. ................ 109

Fig. 6.2-4: Codice: Inizializzazione della sessione. ............................................................. 109

Fig. 6.2-5: Codice: Recupero informazioni dalla sessione. .............................................. 110

Fig. 6.2-6: Schema ER del database. ......................................................................................... 112

Page 15: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

XIII

Fig. 6.2-7: Codice: Connessione al database. ........................................................................ 115

Fig. 6.2-8: Codice: Query di SELECT. ....................................................................................... 115

Fig. 6.2-9: Codice: Query di INSERT. ........................................................................................ 116

Fig. 6.2-10: Codice: Creazione di un blocco di azione. ...................................................... 126

Fig. 6.2-11: Codice: creazione di un blocco di reazione. .................................................. 127

Fig. 6.2-12: Codice: Salvataggio della logica dell’attività in file JSON e XML. ........... 127

Fig. 6.2-13: Codice: JSON di una attività. ................................................................................ 128

Fig. 6.2-14: Codice: XML di una attività. ................................................................................. 129

Fig. 6.2-15: Codice: Lettura dei file multimediali. .............................................................. 131

Fig. 6.2-16: Codice: Visualizzazione dei file multimediali letti nello script PHP. ... 132

Fig. 6.2-17: Codice: Eliminazione di un file multimediale. .............................................. 133

Fig. 6.2-18: Codice: Download file di immagine. ................................................................. 134

Fig. 6.2-19: Codice: Download file video. ............................................................................... 134

Fig. 6.2-20: Codice: Upload di un file multimediale. .......................................................... 136

Fig. 6.2-21: Schema della comunicazione in un sistema client-server. ...................... 137

Fig. 6.2-22: Codice: esempio di chiamata AJAX di tipo GET. ........................................... 138

Fig. 6.2-23: Codice: esempio di chiamata AJAX di tipo POST. ........................................ 139

Fig. 6.2-24: Codice: lettura file JSON contenente la logica dell’attività. ..................... 140

Fig. 6.2-25: Codice: funzione per gestire le reazioni sul delfino. .................................. 141

Fig. 6.2-26: Codice: funzione GetVar per leggere quello che accade sul delfino..... 142

Fig. 6.2-27: Flow Chart dell’esecuzione di un’attività. ...................................................... 143

Fig. 6.2-28: Codice: Istanza per la gestione delle Hue Go. ............................................... 145

Fig. 6.2-29: Codice: lettura dello stato della connessione delle Hue Go. ................... 146

Fig. 6.2-30: Codice: funzione per accendere e spegnere le Hue Go. ............................ 146

Fig. 6.2-31: Codice: funzione per il cambiamento di stato della Smart Plug. ........... 147

Page 16: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

XIV

Page 17: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

XV

Indice delle tabelle Tabella 5.1-1: Specifiche tecniche di Arduino Mega 2560. ................................................61

Tabella 5.1-2: Pin speciali Arduino Mega. ................................................................................61

Tabella 5.1-3: Pin ESP8266. ...........................................................................................................63

Tabella 5.1-4: Connessioni ESP8266 Arduino Mega. ...........................................................64

Tabella 5.1-5: Indirizzi su cui caricare il nuovo firmware dell’ESP8266 .....................67

Tabella 5.1-6: Aggiornamento firmware: Connessione ESP8266 - Arduino Uno .....68

Tabella 5.1-7: Pin RC522. ................................................................................................................70

Tabella 5.1-8: Connessioni RC522 Arduino Mega. ................................................................70

Tabella 5.1-9: Pin MPU-6050-GY-521. .......................................................................................72

Tabella 5.1-10: Connessioni MPU-6050-GY-521 Arduino Mega. ....................................73

Tabella 5.1-11: Pin L293NE. ..........................................................................................................76

Tabella 5.1-12: Connessioni L293NE Arduino Mega ...........................................................76

Tabella 5.1-13: Controllo ponte H. ..............................................................................................77

Tabella 5.1-14: Connessione Servomotore Arduino Mega ................................................79

Tabella 5.1-15: Pin DFPlayer Mini. ..............................................................................................81

Tabella 5.1-16: Connessioni DFPlayer Mini Arduino Mega. ..............................................81

Tabella 5.1-17: Connessioni Sensori capacitivi Arduino Mega ........................................83

Tabella 5.2-1: Consumi Dolphin Sam .........................................................................................87

Tabella 6.2-1: Codici tastiera. ..................................................................................................... 119

Tabella 6.2-2: Eventi sul delfino. ............................................................................................... 120

Tabella 6.2-3: Eventi sullo schermo. ....................................................................................... 121

Tabella 6.2-4: Effetti di luce di Dolphin Sam. ....................................................................... 122

Tabella 6.2-5: Azioni riproducibili da Dolphin Sam. ......................................................... 122

Tabella 6.2-6: Eventi sull’ambiente ......................................................................................... 123

Tabella 6.2-7: Eventi attività ...................................................................................................... 124

Page 18: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

XVI

Page 19: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

1 Introduzione

1

1 Introduzione

In questo primo capitolo di introduzione viene presentato il contesto di questo lavoro di tesi, sia dal punto di vista applicativo che tecnologico: vengono poi elencati gli obiettivi prefissi e delineata la struttura dell’elaborato.

1.1 Contesto

Una società (dal latino societas, dal sostantivo socius cioè “compagno, amico,

alleato”) è un insieme di individui che si aggrega e coopera per il perseguimento di

obiettivi comuni. La natura umana porta l’individuo a vivere in gruppo, occupando

il proprio posto all’interno della società. Questa posizione è subordinata alla

condivisione delle proprie esperienze con gli altri membri del gruppo: l'uomo

sente un bisogno intrinseco di libertà e al contempo di partecipazione.

Esistono patologie che limitano le capacità espressive di un individuo. Questo non

significa un'assenza di emozioni, ma solo un modo diverso di esplicitarle. Le

disabilità intellettive (ID) da cui sono affetti i bambini sono quindi il centro dello

studio in esame.

Questi disturbi vengono solitamente diagnosticati tra i 18 e i 36 mesi di vita del

bambino, non hanno cura, ma i loro effetti possono essere arginati intervenendo il

più tempestivamente possibile con un'adeguata terapia cognitivo-

comportamentale. Per i bambini affetti da autismo, il gioco è un elemento

fondamentale nella terapia in quanto li aiuta a sviluppare le abilità psicomotorie,

veicolando emozioni e concetti e stimolando la loro attenzione e l'interazione

sociale. Molto importante risulta anche il fatto che ogni bambino con disabilità

intellettive è diverso dagli altri.

“I’ve listened enough. It’s time for me to speak, however it may sound. Through an electronic device, my hands, or my mouth. Now it’s your time to listen. Are you ready?”

Ho sentito abbastanza. Tocca a me parlare adesso, non mi importa come possa apparire. Con un

dispositivo elettrico, con le mani o con la bocca. Ora tocca a te sentire. Sei pronto?

Neal Katz, Self-advocate

Nella società attuale la tecnologia rappresenta una parte importante, se non

fondamentale, della vita di ognuno. La tecnologia ha assunto un ruolo di

fondamentale importanza nei più svariati ambiti della vita umana e nel campo

socio-sanitario può aiutare il paziente a raggiungere traguardi altrimenti

inavvicinabili.

Page 20: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

1 Introduzione

2

Negli ultimi anni sono state effettuate numerose ricerche in ambito accademico e

clinico su come l'utilizzo delle nuove interazioni uomo-macchina (Human

Computer Interaction (HCI)) possa favorire lo sviluppo motorio, sociale e cognitivo

di bambini con disabilità intellettive. Questi studi hanno mostrato risultati

sorprendenti (1) (2), evidenziando come l'utilizzo di nuove tecnologie porti a dei

miglioramenti nella capacità di attenzione, nell'interazione sociale, nella capacità

di generalizzazione dei concetti logici e nella coordinazione motoria.

Il progetto Dolphin Sam si pone l'obiettivo di migliorare la qualità della vita dei

bambini affetti da disabilità mediante dei giochi interattivi, utilizzando un delfino

intelligente e una web application, all’interno di uno smart space allestito nei

centri terapeutici, negli ospedali e nelle abitazioni. Tutta la tecnologia di Dolphin

Sam è stata progettata per essere il più possibile coinvolgente e personalizzabile.

Questa tesi affronta le sfide con le quali si confrontano ogni giorno bambini,

personale medico e famiglie e costituisce un piccolo contributo al tentativo di

superamento delle difficoltà di cui soffrono bimbi con disturbi sia a livello

cognitivo che emotivo e comunicativo, per restituire loro una parte della libertà di

cui hanno diritto.

1.2 Obiettivo

Lo scopo di questo lavoro è quello di aiutare i bambini con disabilità mentali nel

processo terapeutico per il miglioramento delle loro conoscenze e per il

raggiungimento dell'autonomia personale e di una migliore integrazione

all'interno del mondo reale.

Dal momento che, soprattutto per i bambini con disabilità intellettive o con

disturbi dello spettro autistico, l'attività di apprendimento non può prescindere

dall'attività ludica, tutto il progetto è stato sviluppato per fornire ai bambini uno

strumento di gioco divertente e coinvolgente, oltre che utile da un punto di vista

terapeutico.

Dolphin Sam offre un insieme di attività interattive utilizzabili mediante un delfino

e una web application, all'interno di un ambiente intelligente, dotato di schermi,

luci e dispositivi utili per potenziare al massimo l’esperienza del bambino.

Le attività di base, implementate nel progetto, sono state definite in collaborazione

con esperti del settore (medici, psicologi e terapisti) sulla base delle principali

necessità dei bambini.

Dal momento che gli specialisti hanno evidenziato l'esigenza di poter

personalizzare le attività per ciascun bambino, un aspetto rilevante di Dolphin Sam

Page 21: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

1 Introduzione

3

è quello di essere strutturato in modo tale da consentire, a ciascun terapista, di

creare nuove attività specifiche per il paziente in trattamento.

1.3 Struttura della tesi

La struttura della tesi è la seguente.

Nel capitolo 2 (Stato dell'Arte) si descrivono le principali problematiche che

possono colpire i bambini, in particolare Disabilità Intellettiva (ID) e Disordini

dello Spettro Autistico (ASD). Sono esposti i fattori noti o presunti responsabili

dell'insorgenza di queste malattie, le diverse tipologie di sintomi e le varie terapie

che possono aiutare i pazienti a migliorare il proprio stile di vita. Vengono riportati

alcuni esempi di terapie integranti la tecnologia, tra i quali Leka, Paro e Magic Ball.

Nel capitolo 3 (Analisi dei Requisiti) vengono inizialmente riportati i centri

terapeutici con i quali si è collaborato per la realizzazione di Dolphin Sam. In

seguito viene illustrato il processo di analisi per la definizione dei requisiti degli

stakeholder, a partire da sistemi e applicazioni già esistenti. Infine vengono definiti

gli obiettivi terapeutici e vengono trattati i requisiti generali per il design.

Il capitolo 4 (UX Design) presenta una descrizione ad alto livello del sistema dal

punto di vista dell'esperienza utente, seguita da una descrizione maggiormente

dettagliata delle singole componenti. Dopo aver trattato tutti gli elementi di

Dolphin Sam, vengono presentate le sue due modalità di utilizzo. Vengono poi

illustrate, nello specifico, le componenti necessarie per l'utilizzo del sistema.

Nel capitolo 5 (Implementazione Hardware) viene trattato il sistema da un punto

di vista tecnologico, illustrando le fasi della realizzazione dello smart object. Per

prima cosa sono elencati i componenti utilizzati, quindi si spiega il metodo di

alimentazione dello smart object e lo studio che ha portato a determinate scelte

implementative. Infine vengono descritte la progettazione del sistema hardware e

la realizzazione vera e propria del delfino.

Il capitolo 6 (Implementazione Software) illustra l’implementazione del codice per

la gestione dello smart object, della web application e dello smart space. In

particolare viene descritta l’implementazione software presente all’interno del

delfino, il codice per la gestione dell’applicazione e per la comunicazione tra questa

e le altre parti del sistema.

Page 22: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

1 Introduzione

4

Il capitolo 7 (Sperimentazione) descrive le sedute di sperimentazione effettuate,

ad oggi, nei diversi centri terapeutici e i primi risultati ottenuti con Dolphin Sam.

Nel capitolo 8 (Conclusioni) sono riportate le conclusioni e gli sviluppi futuri del

progetto.

Page 23: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

5

2 Stato dell’Arte

Nella prima parte del capitolo viene spiegata la disabilità intellettiva partendo

dalle sue origini fino ad arrivare alle terapie oggi utilizzate. In seguito sono

presentate le tecnologie pervasive, con particolare attenzione per quelle connesse

al nostro lavoro. Nella terza e ultima parte viene affrontato il legame tra terapia e

tecnologia, anche attraverso alcuni esempi di Smart Object strettamente collegati a

Dolphin Sam.

2.1 Disabilità Intellettiva e autismo

Dolphin Sam si propone di lavorare con bambini affetti da disabilità intellettiva ed

in particolare con bambini autistici.

Definizione

La disabilità intellettiva (ID) è una disabilità caratterizzata da significative

limitazioni sia a livello intellettivo sia a livello di adattamento coinvolgendo, abilità

sociali e comportamenti quotidiani. (3)

Autismo e Autism Spectrum Disorder (ASD) sono, invece, termini generali che

indicano un disordine dello sviluppo caratterizzato da comportamenti abnormi sul

fronte di diverse dimensioni, quali socializzazione, comunicazione e

immaginazione. (2) Con il termine Autism Spectrum Disorder si fa ad esempio

riferimento ad una serie di disturbi come la Sindrome di Asperger, il Disturbo

Infanzia Disintegrativo, il Disturbo Autistico, il Disturbo Pervasivo dello Sviluppo

non altrimenti specificato e il Disturbo di Rett.

Page 24: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

6

Fig. 2.1-1: Ombrello dell’Autism Spectrum Disorder

L’ASD può essere rappresentato come un ombrello sotto il quale sono compresi

diversi disturbi.

Per la classificazione dell’ASD si utilizzano due strumenti diagnostici riconosciuti:

Il Diagnostic Statistical Manual 5th Edition (DSM-5) edito dalla American

Psychiatric Association. (4)

La International Classification of Diseases 10th Edition (ICD-10) edito dalla

Organizzazione Mondiale della Sanità. (5)

Questi due manuali presentano alcune differenze nella combinazione dei criteri

che definiscono la classificazione delle varie forme della malattia, condividendo,

invece, i principali criteri diagnostici: interazione sociale, linguaggio e

comunicazione, comportamento e capacità di pensiero.

Fig. 2.1-2: Triade sintomatologica dello spettro autistico

Page 25: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

7

Interazione Sociale

Il soggetto mostra una compromissione, un ritardo o un’atipicità dello sviluppo

delle competenze sociali con specifico riferimento alle relazioni interpersonali. Il

bambino presenta un’apparente carenza di interesse relazionale con gli altri, una

tendenza all'isolamento e alla chiusura sociale, un’apparente indifferenza emotiva

verso gli stimoli e delle difficoltà ad instaurare un contatto visivo con

l’interlocutore.

Linguaggio e Comunicazione

Il soggetto mostra una compromissione, un ritardo o un’atipicità del linguaggio e

della comunicazione, verbale e non-verbale. A livello verbale il bambino presenta

difficoltà nel parlare, ha un vocabolario scarno e difficoltà nella costruzione delle

frasi. A livello non-verbale, invece, il bimbo fatica nella comprensione di gesti e di

comportamenti. Si stima che il 25% dei soggetti con ASD non sia in grado di

comunicare verbalmente e in molte occasioni coloro che sono in grado di

comunicare sono affetti da ecolalia, un disturbo del linguaggio che consiste nel

ripetere involontariamente parole o frasi pronunciate da altre persone.

Relazione e comportamento

L’immaginazione è povera e stereotipata e il gioco simbolico o di immaginazione

risulta compromesso. Il bambino presenta spesso comportamenti ripetitivi quali

movimenti ripetuti in modo ossessivo e stereotipati e ha una scarsa flessibilità ai

cambiamenti della routine quotidiana o dell'ambiente circostante. I cambiamenti

dell'ambiente abituale possono causare reazioni aggressive e incontrollate nel

soggetto.

Cause

Le cause della disabilità intellettiva e dell’autismo sono molte e dipendono dalla

combinazione dei diversi fattori di rischio e dal tempo di esposizione ad essi. I

principali fattori di rischio sono biomedicale, sociale, comportamentale ed

educativo, mentre per la tempistica di esposizione sono importanti soprattutto i

periodi prenatale e postnatale. Il rischio di nascita di un bambino affetto da

disabilità mentale aumenta in presenza di una predisposizione genetica da parte

del genitore oppure in presenza di una serie di sollecitazioni "ambientali" come

per esempio l'età avanzata dei genitori al momento del concepimento, la malattia

della madre durante la gravidanza e le difficoltà durante il parto (6) (7).

Page 26: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

8

Statistiche

La disabilità intellettiva coinvolge il 2–3% della popolazione mondiale quindi

risulta di fondamentale importanza capire l’eziologia della patologia e trovare delle

cure efficaci. Nel 2010, l’Autism and Developmental Disabilities Monitoring

(ADDM) Network ha stimato che 1 bambino ogni 68, tra i nati nel 2002, presenta

un disturbo dello spettro autistico (ASD). (8)

Un aspetto molto importante è inoltre il carico economico sulle famiglie dei

soggetti. Un bambino affetto da disabilità necessita di specifiche cure mediche e

spesso trascorre una parte importante del proprio tempo nei centri di

riabilitazione. Dati Censis mostrano che la valorizzazione economica di questo

tempo arriva a una cifra annua di circa 44.000€ per famiglia nel caso di persone

affette da Sindrome di Down (9). Si è inoltre calcolato che prendersi cura di un

bambino affetto da DSA costi dai 17.000$ ai 21.000$ all'anno, equivalenti ad una

spesa giornaliera di 52$ per l'assistenza sanitaria, l'educazione, i servizi di

coordinazione tra genitori e terapisti e un'adeguata terapia (10) (11).

Page 27: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

9

Terapia e riabilitazione

L’intera comunità scientifica è concorde nell’affermare che sia indispensabile

cominciare la terapia il prima possibile, fin dalla più tenera età. Tanto più precoce è

l’intervento sul bambino, quanto più è possibile ottenere buoni risultati. Non è

possibile conoscere a priori il livello di miglioramento del paziente, per questo,

solitamente, si effettua un lavoro terapeutico continuo, con l’obbiettivo di

raggiungere il massimo dei risultati. Per fare questo occorre una stretta

collaborazione tra familiari, medici e terapisti (12).

Dal momento che ciascun bambino presenta bisogni diversi risulta quindi

necessario adattarsi alle esigenze individuali del soggetto in cura. Per poter aiutare

al meglio i pazienti occorre, infatti, fornire loro delle support needs personalizzate

a livello di qualità e d’intensità a seconda del bambino che si ha di fronte.

Negli anni sono stati proposti e sperimentati numerosi trattamenti di natura

farmacologica, riabilitativa, educativa e sociale per la cura delle disabilità

intellettive.

PECS

PECS è l’acronimo di “Picture Exchange Communication System” ovvero Sistema di

Comunicazione mediante Scambio per Immagini. Questo sistema punta allo

sviluppo della Comunicazione Funzionale e della Comunicazione come scambio

sociale, attraverso un programma di apprendimento a piccoli passi in 6 fasi.

Ai bambini viene insegnato come approcciarsi ad un'altra persona utilizzando

un'immagine dell'oggetto desiderato in cambio di un'altra immagine. In questo

modo il soggetto è messo in condizione di instaurare una comunicazione e di

esprimere una richiesta o un pensiero a patto che questa possa essere

ragionevolmente rappresentata attraverso un’immagine.

Fig. 2.1-3: Esempio di carte PECS

Page 28: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

10

Metodo ABA

Il metodo Applied Behavior Analysis (ABA) consiste nel lavoro intensivo di un

terapista con il bambino, generalmente da 20 a 40 ore alla settimana. Al paziente

vengono insegnate determinate capacità un passo alla volta in modo semplice e

ripetitivo. Le sessioni sono caratterizzate da esercitazioni ben strutturate nelle

quali il singolo compito viene ripetuto più volte e solo dopo un determinato

periodo di tempo si passa a una fase di generalizzazione dove vengono cambiati

ambiente e contesto. Numerose ricerche hanno mostrato che questo sistema può

incrementare i livelli delle abilità cognitive, comunicative e sociali.

Metodo TEACCH

Il metodo Treatment and Education of Autistic and Related Communication

Handicapped Children (TEACCH) cerca di fornire al bambino durante il normale

processo educativo un ambiente strutturato in modo da non confonderlo. Si è

osservato che la maggior parte delle persone autistiche mostrano aspetti di rigidità

comportamentale, necessitano di una routine quotidiana e preferiscono un

ambiente stabile, ordinato e sicuro (13).

Mediante il metodo TEACCH l'approccio modifica le proprie caratteristiche e il

livello di difficoltà in base ai bisogni del singolo bambino (14) ed è caratterizzato

da un metodo di apprendimento strutturato. Esso è basato sulla richiesta di

completamento di un compito (task completion) fornendo chiare istruzioni ed

utilizzando supporti visivi in un ambiente prevedibile.

È stato dimostrato che la metodologia TEACCH incrementa il livello di abilità:

imitative;

percettive;

motorie;

di coordinazione oculo-manuale.

Metodo Floortime

Il Floortime, letteralmente “tempo passato a terra sul pavimento”, è una tecnica

d’intervento basata sul gioco e sull’interazione spontanea fra adulto e bambino.

Esso consente di attuare un lavoro educativo che, a partire dal gioco simbolico e

dall’interazione spontanea, si prefigge di creare il contesto all’interno del quale

possono essere appresi nuovi comportamenti e nuove abilità.

Attraverso esperienze di gioco stimolanti, i medici, i genitori e gli educatori

possono imparare a conoscere i punti di forza e i limiti del bambino, ottenendo

quindi la possibilità di personalizzare gli interventi.

Questo permette inoltre di rafforzare il legame tra il genitore e il bambino e di

promuovere il suo sviluppo sociale ed emotivo.

Page 29: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

11

Il requisito di tempo varia da 14 a 35 ore alla settimana. Questi tipi di intervento

aumentano i livelli di:

• funzionamento sociale;

• funzionamento emotivo;

• raccolta di informazioni.

Fig. 2.1-4: Floortime

Gioco e riabilitazione

Il tema del gioco ricopre un ruolo fondamentale nel campo della riabilitazione ed è

il modo più naturale per approcciarsi a un bambino, sia esso disabile oppure no.

L'importanza del gioco nella neuroscienza cognitiva è ampiamente documentata

(15).

Grazie all’attività ludica il bambino sviluppa numerose capacità. Esso, infatti, crea

emozioni positive, incrementa il livello di attenzione, migliora la capacità di

pensare e di risolvere problemi, riduce l'iperattività, porta allo sviluppo del

linguaggio (16). Il gioco è la lente attraverso la quale i bambini sperimentano il

loro mondo e quello degli altri e contribuisce, quindi, in maniera attiva al

benessere cognitivo, fisico, sociale ed emotivo dei bambini.

Nei bambini con disabilità mentale, l’esperienza ludica risulta fortemente

impoverita dalla loro incapacità di astrazione. Il gioco risulta in parte privato della

sua componente sociale e simbolica. L’approccio al gioco da parte di un bambino

con disabilità intellettive risulta spesso limitato solamente alla parte fisica

dell’oggetto. Il bimbo non collega il gioco alle sue funzionalità interagendo con esso

in modo stereotipato senza provare alcun interesse per il giocattolo in sé (17).

Page 30: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

12

Il bambino con disabilità mentali ha difficoltà nell'immaginazione e nell'esecuzione

di giochi simbolici. Durante il gioco simbolico si imitano le azioni altrui, siano esse

linguistiche o socio-comportamentali. Alcuni studi hanno mostrato che il circuito

nervoso attivato durante l'esecuzione del gioco corrisponde a quello attivato

durante l’osservazione di un’altra persona (18) (12) (19) (Teoria della mente,

Theory of Mind (TOM)).

Utilizzare il gioco nella riabilitazione e nei percorsi educativi risulta quindi

essenziale e prevede di sfruttare tutte le caratteristiche del gioco per intervenire in

quelle aree in cui il bambino presenta delle difficoltà patologiche.

Pet Therapy

La Pet Therapy è un tipo di cura che utilizza gli animali come forma di trattamento

basandosi sul rapporto fisico ed affettivo che essi sono in grado di instaurare con il

paziente. La Pet Therapy viene sviluppata all’interno di programmi di

riabilitazione che prevedono l’utilizzo di altri tipi di cure tradizionali.

I risultati di diverse ricerche mostrano che questa terapia è utile nella prevenzione

e cura di alcune malattie e che può essere utilizzata con scopo psicologico-

educativo (terapia per i disturbi del comportamento), psichiatrico (terapia per

disabilità mentali e autismo, sia in forma live che moderata) e per la riabilitazione

motoria (terapia e riabilitazione per diversi deficit motori) (20).

La Pet Therapy ha diversi modi di azione:

Il metodo di azione più importante è quello affettivo basato su una più o meno forte relazione emotiva. Secondo le più recenti opinioni (Schuelke et al., 1991), la Pet Therapy produce, almeno in parte, gli stessi principi biochimici delle consuete attività di rilassamento. Il legame bambino-animale risulta essere rassicurante, positivo e rilassante andando ad agire sull’adrenalina (epinefrina), su altri ormoni corticosteroidi e sulla produzione degli "ormoni dello stress", inducendo una riduzione della pressione arteriosa, della frequenza cardiaca e respiratoria e inducendo altri effetti benefici.

Un secondo metodo di azione è la stimolazione psicologica. La Pet Therapy influenza il comportamento sociale, i meccanismi relazionali, le caratteristiche dei personaggi e gli aspetti cognitivi. Ad esempio uno studio su 68 bambini di 5 anni ha evidenziato che il 42% dei pazienti che hanno un animale domestico risultano meno ansiosi ed introversi rispetto a bambini della stessa età che non lo posseggono (21).

Il terzo metodo di azione è il gioco. Quando un bambino con disabilità intellettive gioca con un animale e si emoziona per un suo comportamento risulta più felice e gioioso.

Il quarto ed ultimo metodo di azione è l’attività fisica. Esempi tipici in questo campo sono Ippoterapia e Delfinoterapia.

Page 31: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

13

Delfinoterapia

La Pet Therapy utilizza solitamente molti animali come cani, gatti e cavalli

(Ippoterapia). Ultimamente invece sono stati introdotti per questo tipo di cure

anche altri animali come conigli, uccelli e delfini (Delfinoterapia).

La scelta dei delfini per effettuare la Pet Therapy è basata su una serie di fattori

(22) (23):

L’immagine positiva che hanno questi animali nella popolazione date alcune

loro caratteristiche come la grandezza, il senso di protezione che infondono, il

fatto di essere mammiferi acquatici amichevoli, la loro intelligenza e le loro

capacità comunicative.

La loro curiosità e la loro capacità di sostenere delle interazioni con gli esseri

umani.

Il loro atteggiamento cooperativo e giocoso in generale.

La loro capacità di accettare il contatto fisico come abbracci, carezze e baci.

La loro pelle morbida e i loro movimenti delicati.

Uno studio esplorativo (24) su un programma di interazione tra delfini e dieci

bambini con DSA ha mostrato un significativo progresso nei pazienti. I soggetti,

valutati su specifiche scale, hanno evidenziato miglioramenti significativi nello

sviluppo generale, in quello motorio, nella complessità di alcuni comportamenti e

nelle loro capacità cognitive, verbali e non verbali.

Page 32: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

14

2.2 Tecnologia Pervasiva

Nel corso del tempo le tecnologie presenti nel mondo si sono molto evolute sia dal

lato interfaccia che dal lato hardware, consentendo la nascita e la diffusione di

dispositivi pervasivi con cui l’uomo interagisce quotidianamente in modo sempre

più stretto. Con il termine tecnologia, infatti, non facciamo riferimento solamente a

PC, smartphone e tablet, ma anche a elettrodomestici e a una quantità di oggetti

utilizzati nelle più diverse attività.

L’uso di tecnologie come “smart object”, “IoT”, “weareble technology”, “smart

space” e la loro capacità di connessione attraverso reti WiFi, Bluetooth ed

infrarossi permette di creare esperienze immersive e molto coinvolgenti.

Il nostro lavoro prevede di utilizzare alcune di queste innovazioni per la creazione

di un prodotto intelligente.

Smart Object e Internet of Things (IoT)

Uno smart object è un oggetto intelligente capace di compiere determinate azioni,

di comunicare e di interagire con altri smart object. Caratteristica peculiare degli

smart object è il fatto di essere in grado di controllare ogni loro azione. Lo smart

object può essere sia un oggetto creato ad hoc sia un oggetto fisico di utilizzo

quotidiano in cui vengono incorporati dei circuiti con sensori e/o attuatori.

Per Internet delle Cose (Internet of Things (IOT)) si intende una rete costituita da

oggetti fisici dotati di componenti hardware e software in modo da permettere la

comunicazione tra loro.

Uno smart space è un ambiente fisico dotato di sensori e attuatori incorporati in

oggetti di uso quotidiano ed interconnessi tra loro.

Queste tre nuove soluzioni tecnologiche rappresentano il futuro dell'interazione

uomo-macchina dove per “macchina” si intende tutto ciò che circonda l’uomo e può

essere reso “intelligente”. L’obbiettivo è quello di immergere l’uomo in uno smart

environment creato per reagire alle azioni dell'uomo e che l'uomo può interamente

controllare.

Page 33: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

15

Smart Lights

Le Smart Lights sono dispositivi luminosi che possono essere controllati

dinamicamente mediante un controllore. Queste luci intelligenti possono essere

utilizzate all’interno dello spazio di gioco rendendo quest’ultimo “intelligente” e

creando degli effetti luminosi ambientali. Esempi di Smart Lights in commercio

sono Philips Hue, Hue Go e i tappeti luminosi.

Philips Hue

La Philips Hue integra la luce Led alla tecnologia wireless rendendo le lampadine

delle luci intelligenti (25). Mediante lo Hue Bridge (connesso al router) è possibile

comandare via Internet una o più Philips Hue. Queste possono anche essere

controllate direttamente da remoto mediante specifiche applicazioni per

smartphone. Utilizzando l’Application Programing Interface fornito da Philips,

oppure mediante librerie fornite da terzi, è possibile integrare il controllo di

queste luci intelligenti alle applicazioni create dall’utente. Queste API permettono

di controllare accensione, spegnimento, colore e intensità luminosa di una singola

luce oppure di un gruppo di luci.

Philips Hue Go

La Philips Hue Go è una lampada che unisce l’intelligenza delle Philips Hue alla

portabilità del device (26). Si tratta infatti di una lampada portatile che una volta

ricaricata può essere spostata in qualunque luogo rendendo “smart” l’ambiente in

cui si trova. Come per le Philips Hue, anche l’utilizzo del Philips Hue Go richiede di

associare la lampada allo Hue Bridge, così da poterla controllare in modo remoto

attraverso Internet, utilizzando apposite API e apposite librerie. In questo modo si

possono controllare accensione, spegnimento, colore e intensità luminosa di una

singola luce oppure di un gruppo di luci.

Fig. 2.2-1: Luce Philips Hue Go

Page 34: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

16

Smart Plug

La Smart Plug è un dispositivo multi-uso, compatto e facile da usare che permette

di monitorare, controllare e automatizzare un qualunque device collegato alla rete

elettrica. Mediante specifiche API è possibile accendere e spegnere la presa da

remoto controllando così i device ad essa collegati. L’utilizzo di API permette,

inoltre, di integrare il controllo dei dispositivi collegati a specifiche applicazioni

create dall’utente. La Smart Plug è un dispositivo portatile e questo permette di

rendere di volta in volta intelligente l’ambiente in cui si trova.

Fig. 2.2-2: Smart Plug Kankun

Arduino

Se un tempo la creazione di circuiti era prerogativa quasi esclusiva dell'industria

elettronica, oggi, con pochi sforzi e a basso costo, è possibile realizzare dei

prototipi utilizzando Arduino (27). Arduino è una scheda elettronica di piccole

dimensioni con un micro-controllore programmabile.

Arduino permette di realizzare, in maniera relativamente rapida e semplice, piccoli

dispositivi che utilizzano sensori e attuatori e che sono in grado di comunicare con

altri dispositivi.

Si tratta quindi di un vero e proprio microcontrollore fornito di un ambiente di

sviluppo integrato per la programmazione in un linguaggio derivato da C e C++.

Anche lo sviluppo di codice per il controllo di Arduino risulta quindi relativamente

semplice e questo, unito al fatto che il software e gli schemi circuitali sono

distribuiti liberamente, ha portato questo micro-controllore ad essere uno degli

strumenti più diffusi per la realizzazione di prototipi.

Fig. 2.2-3: Arduino Uno

Page 35: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

17

2.3 Smart Object e Terapia

Negli ultimi anni l’utilizzo delle nuove tecnologie sopra descritte ha preso sempre

più piede nel campo delle terapie riabilitative. In particolare è stato incrementato

l’impiego di smart object in grado di far interagire il paziente in modo fisico e

diretto con l’oggetto della terapia.

Qui di seguito sono descritti alcuni esempi di smart object utilizzati per le cure di

soggetti con varie disabilità.

Magic Ball

MagicBall è un progetto da noi sviluppato all'interno del corso “Advanced User

Interfaces: Interaction (AUII)” erogato dal Politecnico di Milano durante l’anno

accademico 2014/2015 (28). Il progetto è in seguito entrato a far parte del sistema

Playful Supervised Smart Spaces (P3S) del laboratorio iNNOVATIVE iNTERACTIVE

iNTERFACES Laboratory (i3Lab) del Politecnico di Milano (29). Il lavoro ha

l’obbiettivo di aiutare bambini con disabilità intellettiva nello sviluppo di alcune

capacità quali quelle di concentrazione, di coordinazione e di apprendimento di

concetti come spazio e colori.

Magic Ball è una palla soffice una palla soffice che rappresenta un volto stilizzato

ed è dotata di luci led, di pulsanti nelle quattro posizioni significative (sopra, sotto,

destra e sinistra), di un riproduttore musicale e di un motore per la vibrazione.

Questo dispositivo comunica con un'applicazione installata su un PC che permette

di eseguire delle attività realizzate per aiutare l’apprendimento del bambino.

Tra le attività (mostrate a schermo) che il paziente può svolgere si ha:

Storia: sullo schermo appare una storia. La Magic Ball si trasforma in un controller che serve a far progredire la narrazione. Per avanzare il bambino deve premere il pulsante destro (illuminato) della palla.

Posizioni: in questa attività il bambino tiene la palla in mano con il viso disegnato rivolto verso di lui. I quattro pulsanti corrispondono alle posizioni di quattro animali rappresentati a schermo. Per ottenere il reward il bambino deve premere il pulsante corrispondente all’unico animale in movimento. Avanzando con i livelli vengono inseriti dei distrattori.

Musica: questa attività viene utilizzata principalmente nella fase di rilassamento del bambino. Il terapista può scegliere una canzone che verrà riprodotta dalla palla assieme a effetti luminosi.

Scegli colore: sullo schermo appare un cerchio bianco, la palla si accende assumendo diversi colori e quando il bambino preme un pulsante, il cerchio a video si riempie del colore selezionato. Il gioco è sviluppato a livelli dove all’aumentare del livello aumentano i colori selezionabili sulla palla.

Page 36: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

18

Individua il colore: per questa attività sullo schermo viene visualizzato un cerchio colorato. I pulsanti della palla si illuminano di diversi colori e il bambino deve premere il pulsante del colore corrispondente a quello del cerchio sullo schermo per ottenere il reward.

Fig. 2.3-1: Magic Ball

Fig. 2.3-2: Esempio di attività di Magic Ball

Page 37: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

19

Leka

Leka è un giocattolo intelligente, interattivo e multisensoriale che offre ai bambini

con disabilità intellettiva la possibilità di svolgere attività educative, che motiva le

interazioni sociali ed aumenta le capacità motorie e cognitive (30). Leka è stato

sviluppato con la collaborazione di genitori, terapeuti e operatori sanitari e può

essere utilizzato nelle scuole, negli ospedali e a casa, rendendo la terapia più

semplice e più efficiente.

Leka è dotato di sensori in grado di rispondere all'interazione di un bambino

attraverso comportamenti autonomi. Per esempio se viene maltrattato e gettato a

terra diventa triste e rosso, un colore tradizionalmente associato con la tristezza.

Risposte interattive come queste hanno l’obiettivo di aiutare i bambini a

comprendere meglio gli spunti sociali e migliorare le loro abilità relazionali.

Poiché ogni bambino possiede caratteristiche differenti sono stati creati stimoli e

applicazioni finemente personalizzabili per essere in grado di adattarsi alle

esigenze individuali del bambino. È inoltre possibile regolare le impostazioni per

modificare i diversi input sensoriali (luminosità delle luci, volume dei suoni,

velocità di Leka) che agiscono come motivazione per incoraggiare i progressi del

bambino. Ad esempio, alcuni bambini possono preferire luci rosse a luci verdi,

movimenti in senso orario a movimenti in senso antiorario, ecc..

Fig. 2.3-3:Leka

Page 38: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

2 Stato dell’Arte

20

Paro

Paro è un robot interattivo sviluppato da AIST, un’azienda giapponese leader nel

campo dell’automazione industriale. Le sembianze e la voce di Paro sono quelle di

un cucciolo di foca arpa (31).

Questo smart object contiene un software sviluppato in modo da rispondere agli

stimoli del paziente, assistendolo e accompagnandolo con dei sensori che

rispondono agli stimoli su di esso.

Paro possiede cinque tipi di sensori:

Tattili

Luminosi

Audio

Temperatura

Posizione

Mediante questi sensori Paro è in grado di interagire con le persone e con

l’ambiente. I sensori luminosi, ad esempio, consentono di riconoscere l’intensità

luminosa, mentre il sensore tattile permette all’oggetto di riconosce quando viene

accarezzato o ancora Paro è in grado di avvertire se è tenuto in braccio grazie al

sensore posizionale. Il sensore audio permette di individuare la direzione dalla

quale proviene una voce e addirittura di riconoscere alcune parole che gli vengono

rivolte.

Il software presente al suo interno consente a Paro di imparare alcuni

comportamenti in risposta alle caratteristiche del suo proprietario, così da

assecondarlo nelle sue preferenze. Ad esempio, ogni volta che la foca viene

accarezzata, questa tenterà di assumere il comportamento di risposta più adatto

per ottenere l’approvazione del paziente, sulla base del ricordo dell’esperienze

passate. Ad esempio potrebbe muovere la testa o la coda ed emettere suoni come

se fosse vivo.

Paro è uno smart object molto avanzato ed è tra i più utilizzati al mondo per

l’assistenza sanitaria. Le attività offerte da Paro ne fanno un dispositivo

particolarmente adatto all’assistenza e alle cure di pazienti anziani e solo in piccola

parte utilizzato per il sostegno a bambini con disabilità.

Fig. 2.3-4: Paro

Page 39: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

21

3 Analisi dei requisiti

L’analisi dei requisiti è stata effettuata osservando sia le richieste tecniche che

quelle medico-sanitarie fornite dai centri terapeutici SAM Foundation e L’Abilità,

che hanno collaborato attivamente alla realizzazione del progetto.

Attraverso alcune sessioni presso i due centri milanesi de L’Abilità sono state

discusse alcune specifiche richieste da parte dei centri. Questo confronto ha

permesso di trovare gli opportuni compromessi tra le possibilità tecnologiche e le

richieste di tipo medico-terapeutico necessarie alla realizzazione del progetto.

Oltre a questi incontri si è studiata la soluzione tecnologica migliore per

implementare il sistema e soddisfare le richieste dei terapisti. Si è discusso sia

dello sviluppo progettuale che della possibile implementazione di tutte le parti del

lavoro.

3.1 L’Abilità

L’Abilità, Strategie familiari nelle disabilità della prima infanzia, è un’associazione

Onlus nata nell’ottobre del 1998 a Milano dall’iniziativa di un gruppo di genitori di

bambini con disabilità e di operatori (32). Da allora l’associazione lavora per

costruire opportunità di benessere per il bambino con disabilità, per offrire un

sostegno competente ai suoi genitori e per promuovere una cultura più attenta ai

diritti del bambino con disabilità.

L’associazione si propone di:

sostenere la famiglia del bambino con disabilità promuovendo tutte quelle

attività che la aiutino ad accogliere e capire il proprio figlio, partecipando in

modo attivo alla sua crescita e alla sua educazione;

promuovere e tutelare il benessere del bambino con disabilità con ogni mezzo

idoneo a garantirne una vita piena, in condizioni che garantiscano la sua

dignità, favoriscano la sua autonomia e agevolino una sua attiva partecipazione

alla vita della comunità.

Page 40: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

22

L’Abilità lavora in ambito socio-sanitario con l’obiettivo di promuovere progetti

che abilitino i bambini all’inclusione sociale. Il tema fondamentale per

l’acquisizione di comportamenti e concetti adeguati è il gioco, che diventa così

veicolo per l’apprendimento. La terapia insegna quindi ai bambini “pezzi di vita”

così che possano essere sempre più coinvolti nella società.

3.2 SAM Foundation

SAM Foundation fornisce ai bambini con sindrome di Down, con disturbi autistici e

a bambini con sindromi correlate la possibilità, attraverso un programma

interattivo con i delfini (Delfinoterapia), di sviluppare le proprie capacità emotive,

cognitive, sociali e fisiche (33).

SAM Foundation prende il nome da un bambino nato nel 1996 con sindrome di

Down. Poco dopo la sua nascita, il padre Richard Griffioen vide un documentario

sulla terapia con i delfini, ne fu entusiasta e fondò SAM Foundation. Con il passare

degli anni, l’associazione divenne sempre più grande fino a diventare una

fondazione con uno staff para-medico e terapeutico professionale.

Gli aspetti affrontati da SAM Foundation sono:

Abilità comunicative;

Interazione sociale;

Fiducia, autostima e indipendenza;

Stabilità emotiva;

Capacità cognitive e aspetti comportamentali come, ad esempio, identificare ed

entrare in contatto con altre persone, capire il senso delle regole e rispettarle;

Rafforzamento del rapporto di causa-effetto;

Ampliare la concentrazione;

Regolazione di sovra/sotto eccitazione.

Page 41: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

23

3.3 Sperimentazioni

Per comprendere in modo completo il problema sono state analizzate alcune

metodologie di cura e alcuni strumenti utilizzati per aiutare i bambini affetti da

disabilità intellettive. L’osservazione risulta infatti fondamentale per una corretta

progettazione del lavoro da realizzare.

In particolare sono stati osservati i metodi di cura applicati presso SAM

Foundation nell’ambito della delfinoterapia per comprendere meglio gli aspetti in

cui la tecnologia sarebbe potuta intervenire migliorando oppure integrando il

trattamento stesso.

In secondo luogo sono stati analizzati alcuni applicativi già esistenti e le

sperimentazioni precedentemente effettuate con essi. Questi lavori sono stati

esaminati sia dal lato del bambino, per capire in che modo si potrebbe migliorare il

suo apprendimento, sia dal lato del terapista, per intervenire, ad esempio, sulle

difficoltà incontrate nell’utilizzo degli applicativi.

SAM Foundation & Delfinoterapia

SAM Foundation basa i propri trattamenti sulla delfinoterapia. La fondazione offre

un programma di 6 sedute a cadenza settimanale. In caso di bisogno è possibile

estendere il programma con altre 3 sessioni. Ogni seduta dura circa un’ora e si

compone di tre parti ciascuna di venti minuti: la prima subacquea, la seconda sulla

piattaforma e la terza in acqua. In tutte e tre le fasi il bambino è seguito da un

terapista che lo aiuta nello svolgere le attività e da alcuni psicologi che monitorano

lo svolgimento e i risultati della seduta. Le cure per i bambini utilizzano quindi la

delfinoterapia come mezzo principale il quale è però integrato con le più

tradizionali tipologie di cura.

La fase subacquea inizia con la vestizione in spogliatoio dove il bambino impara a

scomporre un’attività complessa in sotto-problemi di difficoltà minore così da

cercare di insegnargli, gradualmente, a gestirsi autonomamente. Ci si sposta quindi

in uno spazio subacqueo, dove è possibile osservare i delfini come in una sorta di

acquario. In questa fase il terapista propone alcuni giochi di apprendimento in cui

il delfino nell’acquario è coinvolto direttamente come stimolo o come feedback.

Esempio: Imparare a svolgere alcune attività. il bambino impara a vestirsi

spezzettando l’attività di vestizione in più sotto-attività come “andare nello

spogliatoio”, “togliere le gambe”, “togliere le braccia”, “infilare la manica”, ecc.

La seconda fase si svolge all’aperto su una piattaforma direttamente affacciata sul

delfinario. In questa fase il bambino inizia gradualmente un contatto con il delfino

attraverso una serie di attività che lo portano ad interagire in modo diretto con

Page 42: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

24

l’animale. Il delfino risulta in questa fase uno stimolo ed un rinforzo molto forte

per il bambino, che infatti impiega diverso tempo prima di riuscire ad interagire

direttamente con l’animale, toccandolo e giocandoci.

Esempio: Imparare a comunicare alcune sensazioni. Il bambino chiede al

terapista “Posso dare da mangiare al delfino?” e ripetendo questo gesto impara

a chiedere permesso anche in situazioni di vita reale (ad esempio a tavola). Se il

bambino non effettua la richiesta non gli viene dato il pesce da lanciare quindi il

bambino non ha il feedback positivo del delfino che mangia.

Fig. 3.3-1: Bambino che, assieme al terapista, dà da mangiare al delfino

La terza fase si svolge direttamente in acqua dove il bambino deve svolgere alcune

specifiche attività motorie per far sì che il delfino compia una certa evoluzione. In

questa fase il focus del paziente è su un miglioramento delle capacità psico-

motorie e di coordinazione utilizzando anche strumenti come cerchi e palle.

Esempio: imparare alcuni gesti. Al termine della seduta il bambino deve alzare

il braccio e stenderlo correttamente per salutare il delfino in modo tale che

quest’ultimo salti e lo saluti a sua volta.

Fig. 3.3-2: Bambini alle prese con le attività di Sam Foundation

Page 43: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

25

Magic Ball

Il progetto Magic Ball, descritto precedentemente, è stato testato su alcuni bambini

con disabilità intellettive tra 1 anno e mezzo e 5 anni in alcune sedute presso lo

Spazio Gioco de L’Abilità durante il marzo del 2015.

La sperimentazione ha dato fin da subito ottimi risultati soprattutto dal punto di

vista dell’attenzione che i bambini prestavano ad un gioco per loro decisamente

accattivante. In poche sedute i loro tempi di concentrazione sono aumentati

esponenzialmente e raramente i bambini venivano distratti da altri elementi

presenti attorno a loro.

La fase di sperimentazione ha portato anche all’individuazione di alcune

problematiche di Magic Ball, legate soprattutto alla sua natura prototipale.

Il problema principale osservato è relativo al reward, poiché il gioco in questione

forniva un solo tipo di rinforzo. Per bambini con un basso livello cognitivo la

musica e le luci della palla si sono rivelate molto efficaci, al contrario, le stesse non

hanno avuto effetto su bambini con un lieve disturbo intellettivo poiché questi

ultimi non si soffermano esclusivamente sull’oggetto, ma cercano un'interazione

anche con lo schermo. Sembrerebbe quindi più opportuno che il tipo di rinforzo

possa essere adattabile al paziente in terapia.

Un altro problema è legato alla familiarizzazione con l’oggetto. Il bambino è

attratto dall’oggetto luminoso ma è allo stesso tempo spaventato dall’interazione

con esso. Per questo si potrebbe pensare di sviluppare un’attività che consenta al

bambino di prendere confidenza con l’oggetto, prima di effettuare le attività già

ideate a scopo terapeutico.

Fig. 3.3-3: Bambino alle prese con l’utilizzo della Magic Ball presso L’Abilità

Page 44: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

26

3.4 Stakeholder

Data la natura del lavoro, gli stakeholder coinvolti in questo progetto sono

molteplici.

Nello specifico i soggetti a cui è rivolto il progetto sono:

Bambini: si tratta di bambini con disturbi generalizzati dello sviluppo tra cui

autismo o disabilità intellettive come deficit d’attenzione e problemi di

comunicazione, di socializzazione, di percezione visiva e uditiva, di

comprensione e di memoria;

Terapisti: sono professionisti quali medici, psicologi, psichiatri che lavorano con i bambini;

Insegnanti: sono tutti gli insegnanti e/o educatori che aiutano i bambini nel loro processo di inclusione all’interno della società;

Famiglie: si tratta di genitori, fratelli o chiunque si occupi e viva con il bambino.

Essi hanno un ruolo molto importante poiché hanno la possibilità di espandere

la terapia anche a casa;

Sviluppatori e Ricercatori: qualsiasi ente scientifico interessato alla

comprensione e all’utilizzo del progetto.

Page 45: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

27

3.5 Requisiti

Il requisito fondamentale su cui basare la realizzazione di Dolphin Sam è la

creazione di un oggetto che permetta una relazione significativa con il bambino.

Gli smart object precedentemente sperimentati, come la Magic Ball, rappresentano

degli oggetti amorfi con cui il bimbo fatica a rapportarsi. Può risultare quindi

inutile realizzare un ulteriore prodotto che funga solamente da controller.

Dolphin Sam ha quindi l’obiettivo di essere uno strumento più relazionale,

andando a sviluppare comunicazione e rapporti tra delfino e bambino.

Stimoli di vario genere devono essere presenti all’interno dello smart object per

rendere il più coinvolgente possibile l’interazione; allo stesso tempo essi non

devono diventare strumento di distrazione e di confusione per il bambino. È stato

quindi deciso di sviluppare una serie definita di sensori e attuatori.

A livello di sensori si hanno dei tasti capacitivi in grado di riconoscere il tocco nelle

quattro zone sensibili del delfino: testa, pancia, pinna sinistra e pinna destra. Un

ulteriore sensore è il lettore di carte posto all’interno della bocca, in grado di

leggere schede contenenti informazioni riguardanti elementi con cui il delfino può

interagire. Per dare la possibilità di lavorare anche in aree di disabilità motoria è

stato inserito un giroscopio in grado di riconoscere la posizione del delfino nel caso

venga alzato o girato dal bambino.

A livello di attuatori, invece, il delfino può muovere bocca e occhi così da

aumentare la relazionalità con il bambino. Oltre a questi stimoli sono anche

presenti delle luci led sulle quattro zone significative del delfino cioè pancia, testa,

pinna destra e pinna sinistra. Nonostante la presenza degli altri attuatori

l’elemento luminoso rimane comunque molto invitante per il bambino e per questo

non si deve abusare con il suo uso all’interno delle varie attività.

Dal momento che lo stimolo più importante risulta essere quello sonoro, è stata

posizionata, all’interno del delfino, una cassa in grado di riprodurre suoni, rumori,

versi e canzoni. In questo modo la relazione tra bambino e smart object viene

massimizzata grazie anche alla possibilità di quest’ultimo di parlare. In questo caso

il tema finzione con un animale che parla non rappresenta un problema poiché per

un bambino con disabilità intellettiva il mondo è potenzialmente tutto animato.

Sarebbe stato possibile, inoltre, inserire un motore per la vibrazione del delfino,

ma i terapisti hanno esplicitamente sconsigliato questo stimolo, ritenendolo

inutile, se non fuorviante, per il paziente.

All’interno del sistema gli stimoli non provengono solamente dal delfino, ma

coinvolgono anche l’ambiente stesso in cui si svolge l’attività. Si hanno quindi delle

luci intelligenti in grado di rafforzare l’elemento luminoso e di creare atmosfere

appassionanti e rilassanti per il bambino. La presenza della Smart Plug fornisce al

terapista la possibilità di avere un ulteriore attuatore per coinvolgere l’attenzione

del paziente.

Page 46: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

28

Anche l’applicazione offre la possibilità di un’interazione con il bambino.

Si ha ad esempio la possibilità di mostrare scritte e immagini e riprodurre video o

canzoni. Il bambino può selezionare una delle immagini selezionate a schermo

oppure premendo un tasto della tastiera. Questa seconda possibilità è stata fornita

soprattutto per i terapisti in modo che se all’interno di un’attività il bambino non

riesce a compiere il gesto richiesto risulti comunque possibile progredire attuando

le reazioni previste.

Tutte le azioni che coinvolgono delfino, applicazione e ambiente non sono separate

ma sono in grado di interagire tra loro così da poter fornire la migliore esperienza

possibile al paziente.

Per poter dare modo ai terapisti di capire il funzionamento di tutti gli attuatori è

stato fornito un pannello di controllo in cui è possibile utilizzare separatamente

ogni stimolo del delfino e dell’ambiente. In questo modo si dà anche la possibilità

di far familiarizzare gradualmente il bambino con il gioco attraverso dei micro

stimoli iniziali.

L’aspetto fondamentale del progetto sono però le attività che devono coinvolgere

direttamente l’interazione del bambino con il delfino oppure con l’applicazione.

Oltre ad alcuni giochi esplicitamente richiesti dai terapisti, è stato creato un

apposito tool per dare loro la possibilità di creare personalmente le proprie

attività, specificando alcuni parametri a seconda del bambino che dovrà andare a

giocare. Attraverso questo tool infatti è possibile costruire qualsiasi tipo di attività,

personalizzando il numero e il tipo di stimoli da avere e gli attuatori da

coinvolgere. Il modello relazionale del sistema è basato sul meccanismo di azione-

reazione quindi il terapista potrà impostare una serie di manipolazioni e, per

ognuna di esse, una serie di comportamenti da attuare. In questo modo si dà la

possibilità di creare un gioco con determinate azioni richieste e determinati stimoli

da attuare in caso di compimento dell’azione richiesta.

Un aspetto decisamente importante è quello della portabilità dell’intero sistema. Se

infatti esso è stato inizialmente pensato per un utilizzo all’interno di un centro

terapeutico è anche necessario che tutto il lavoro sia utilizzabile anche in altri

luoghi come possono essere l’abitazione o la scuola del bambino. Inoltre tutto il

progetto verrà utilizzato da SAM Foundation nella loro sede olandese quindi è

stato progettato un sistema in grado di essere spostato ed impiegato in diversi

luoghi. In questo senso è stata creata una struttura che lavora attraverso la rete

Internet così da poter utilizzare delfino, applicazione e ambiente in un qualunque

luogo fornito di connessione WiFi. Nello specifico le tre componenti risultano tutte

portabili dato che anche gli stimoli ambientali utilizzati e forniti hanno questa

caratteristica fondamentale.

Un ultimo aspetto molto importante è quello del costo. Il progetto è stato

fortemente voluto da SAM Foundation per poter integrare l’utilizzo di Dolphin Sam

alla delfinoterapia senza dover gravare ulteriormente sulle tasche delle famiglie

coinvolte. La realizzazione dell’intero sistema ha quindi guardato anche all’aspetto

economico per poter fornire uno smart-object altamente competitivo ma che allo

Page 47: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

29

stesso tempo non coinvolgesse l’utilizzo di tecnologie molto costose. In questo

senso sono stati analizzati componenti relativamente nuovi sul mercato e nella

realizzazione dello smart object si è cercato di mantenere una semplicità di

costruzione che portasse però ad una soluzione molto solida.

Page 48: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

30

3.6 Linee Guida per il Design

Dopo aver definito lo scopo del lavoro e i requisiti necessari alla sua realizzazione è

ora possibile analizzare le linee guida da seguire nella costruzione di un gioco

rivolto a bambini con disabilità intellettiva. La disanima di queste specifiche segue

le caratteristiche di uno studio più generale precedentemente effettuato (34).

Un gioco per ogni tipo di giocatore: non è possibile definire delle caratteristiche

generali riguardo i bisogni di un bambino con disabilità intellettive e risulta

quindi difficile creare un modello generalizzato da applicare ad ogni individuo.

Ogni bambino ha bisogno di rinforzi e rewarding specifici per i propri bisogni e

risulta quindi necessario fornire al terapista una piattaforma in grado di

rendere personalizzabili attività che il paziente andrà a svolgere. Questa

specifica è stata soddisfatta fornendo un tool grazie al quale è possibile creare

da zero la propria attività, impostando ogni singolo parametro nel meccanismo

di azione-reazione e decidendo quali elementi del sistema (delfino,

applicazione, ambiente) coinvolgere di volta in volta. In questo modo la

piattaforma è in grado di “adattarsi” allo specifico bisogno del bambino.

Evoluzione delle attività: lo scopo del nostro progetto è aiutare il bambino nello

sviluppo di alcune capacità e risulta quindi necessario fornire un sistema in

grado di proporre attività più articolate con l’avanzare dell’apprendimento del

paziente. All’interno del tool il terapista ha quindi la possibilità di creare

attività con complessità differente oppure realizzare una sequenza di attività

con una richiesta di abilità via via più elevata. In questo modo il bambino non

perderà interesse nell’utilizzo del gioco e sarà in grado di acquisire

gradualmente capacità sempre maggiori.

Scopo unico: in ogni singola attività il bambino deve avere ben chiaro l’obiettivo

da portare a termine. In questo modo è possibile focalizzare l’attenzione del

paziente in modo da concentrarsi solamente sulle abilità su cui si vuole andare

ad agire in quella sessione. Un esempio è il dover toccare la parte del delfino

illuminata. In questo caso si fornisce al bambino un solo stimolo visivo

mettendo in secondo piano il resto delle parti del sistema.

Istruzioni: è necessario fornire delle richieste chiare e precise, in modo che il

bambino possa svolgere al meglio le attività. Il sistema permette di dare delle

istruzioni visive attraverso delle scritte a monitor oppure è il delfino stesso a

richiedere le azioni in modo da coinvolgere maggiormente il paziente da un

punto di vista emotivo.

Ricompense: elemento fondamentale di queste attività è la ricompensa

conseguente ad un’azione del bambino. Il gioco permette di fornire al paziente

un rinforzo, di tipo visivo o sonoro, da tutti gli elementi del sistema. Per

esempio è possibile riprodurre con il delfino l’emozione della felicità, mostrare

a schermo un’immagine di rinforzo, accendere le luci ambientali e far partire il

device collegato alla Smart Plug. Ogni bambino ha bisogno di un numero di

Page 49: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

31

reinforcement differente poiché se troppo elevato potrebbe spaventarlo

mentre se troppo basso potrebbe essere insufficiente. Inoltre è possibile che

alcuni bambini richiedano un certo tipo di suoni, immagini o colori mentre altri

abbiano bisogno di differenti stimoli. Il sistema fornisce quindi al terapista il

modo di impostare questi parametri durante la creazione dell’attività

decidendo ad esempio se fornire una ricompensa sia in caso di successo che di

insuccesso oppure solamente in presenza di esito positivo.

Ripetibilità: è importante che ogni attività sia ripetibile in modo che il bambino

prenda sempre più padronanza delle abilità richieste in quell’esercizio. In

questo modo è anche possibile tracciare la crescita del paziente nel tempo. Ogni

attività è accessibile in modo indipendente e questo permette la sua ripetibilità

all’interno di sessioni differenti. Inoltre è possibile per il terapista impostare in

fase di creazione il reload dell’attività così da poterla effettuare più volte anche

all’interno di una stessa seduta di gioco.

Transizioni: le transizioni tra un livello e l’altro oppure tra un’attività e un’altra

sono rapide in modo da evitare che il bambino si deconcentri perdendo

attenzione sul gioco. In caso di livelli successivi il terapista può impostare, in

sede di creazione dell’attività, la transizione immediata.

Grafica: gli elementi visuali sono molto importanti e devono risultare chiari ed

esteticamente piacevoli ma allo stesso tempo funzionali per gli obiettivi da

raggiungere. L’elemento visuale fornito dal delfino stesso è molto forte ma allo

stesso tempo piacevole poiché rappresenta un’animale e per questo il bambino

ha più facilità a relazionarsi. Attraverso l’applicazione è invece possibile

mostrare immagini e video chiari, caratterizzati da una grafica minimale che

non distragga il paziente dallo scopo del gioco. L’ambiente infine fornisce

anch’esso degli stimoli visuali forti ma allo stesso tempo molto chiari, mediante

colori accesi e device attrattivi come la macchina per le bolle. È possibile per il

terapista impostare quali stimoli visivi mostrare sia in fase di creazione

dell’attività sia in fase di gioco stesso utilizzando solamente una parte degli

elementi del sistema a seconda del bambino con cui si sta lavorando.

Audio: gli elementi sonori devono essere chiari e possono essere utilizzati sia

per aiutare il bambino nella realizzazione di un’azione sia per fornire feedback.

All’interno del gioco è possibile avere stimoli sonori sia dall’applicazione sia dal

delfino. In entrambi i casi essi possono essere versi, suoni generici oppure

canzoni. È possibile collegare il delfino all’applicazione in modo che sia lo smart

object stesso a riprodurre gli elementi audio. Il tipo e il numero di elementi

sonori da riprodurre all’interno di un’attività viene impostato dal terapista in

fase di creazione della stessa.

Stimoli dinamici: gli stimoli dinamici consentono di mantenere alto il livello di attenzione durante la seduta. La seduta ne deve contenere un numero sufficiente da raggiungere lo scopo dell'esercizio senza che vi siano momenti di vuoto. Le classiche situazioni di stallo che richiedono un ragionamento eccessivo vanno evitate, il livello di difficoltà deve aumentare gradualmente e quindi anche il numero di stimoli dinamici deve aumentare man mano.

Page 50: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

3 Analisi dei requisiti

32

Serendipity: indipendentemente dal gioco, l'effetto sorpresa e la scoperta di qualcosa di inatteso contribuiscono a migliorare l'esperienza utente e questo vale anche per i bambini con disabilità intellettiva. Il gioco fornisce un elevato numero di stimoli che suscitano un notevole stupore.

Page 51: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

33

4 UX Design

La User eXperience (UX), dall’inglese “esperienza utente”, è l’insieme degli aspetti

relativi all’interazione tra utente e sistema, sia esso fisico o digitale. La UX

racchiude quindi le emozioni, le percezioni e le reazioni che una persona prova

quando si interfaccia con un prodotto o servizio.

L'ISO 9241-210 definisce l'esperienza d'uso come “a person's perceptions and responses that result from the use or anticipated use of a product, system or service .... i.e., all the users' emotions, believes, preferences, perceptions, physical and psychological responses, behaviors and accomplishments that occur before, during and after use. [...] Three factors that influence user experience: system, user and the context of use.”

Il design invece si occupa della progettazione vera e propria del sistema partendo

da un modello precedentemente creato e arrivando ad un processo e ad uno

schema di lavoro.

L’attività di definizione dell’esperienza utente prevede quindi un lungo lavoro per

fare in modo che le esigenze di interazione e di design collimino per dare vita ad un

modello che soddisfi entrambe le richieste. Questo processo viene ripetuto più

volte in modo che il prodotto finale possa raggiungere standard di design e

interazione più alti possibili.

4.1 Concept

Dolphin Sam è un progetto realizzato a supporto delle terapie per bambini con

disabilità intellettiva già esistenti. Il nome Sam è l’acronimo della sigla “uno Smart

object per AMico” dato che, come descritto precedentemente, esso grazie alle

proprie caratteristiche si pone come elemento fortemente attrattivo e valido per il

bambino con disabilità che lo utilizza.

Come descritto nei precedenti capitoli la disabilità intellettiva è causa di forti

difficoltà da parte del bambino, soprattutto per quanto riguarda le sue capacità di

interazione con gli altri. Questo causa quindi nel ragazzo una mancanza di

autonomia che lo porta ad una esclusione dalla società. Dolphin Sam si pone come

support needs per aiutare il paziente ad essere il più possibile parte attiva della

comunità.

Dolphin Sam ha l’obiettivo di rappresentare un aiuto completo per il bambino e

quindi è stato progettato per poter essere utilizzato in due modalità differenti:

Page 52: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

34

Modalità Autonoma: è presente solamente lo smart object che presenta un set

di comportamenti predefiniti.

Modalità Integrata: lo smart object è integrato in un sistema più ampio assieme

ad un’applicazione web e allo smart space. All’interno dell’app sono presenti le

attività specifiche per il bambino.

Lo switch tra una modalità e l’altra è effettuato mediante un interruttore a tre stati

posto nella pancia del delfino. È così possibile impostare lo smart object sulla

Modalità Autonoma, sulla Modalità Integrata oppure spegnerlo.

Dolphin Sam, grazie ai suoi attuatori e sensori, offre al bambino la possibilità di

un’interazione completa e coinvolgente, il tutto all’interno di uno smart space

altrettanto appassionante e utilizzando un’applicazione il più possibile stimolante

per le esigenze del bambino stesso.

Fig. 4.1-1: Dolphin Sam: smart object, web application e smart space.

Page 53: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

35

4.2 Sistema Dolphin Sam

Il sistema Dolphin Sam coinvolge tre componenti differenti: lo smart object,

l’applicazione e l’ambiente. All’interno della modalità integrata queste tre parti

sono tutte connesse tra loro in modo da creare un’unica struttura tecnologica

all’interno della quale le parti possono comunicare fornendo così al bambino

un’esperienza molto coinvolgente.

L’elemento principale di Dolphin Sam è il delfino stesso. Si tratta di un normale

peluche reso però smart grazie all’installazione al suo interno di attuatori, sensori

e di un meccanismo per la loro gestione. Lo smart object presenta anche un

modulo per la comunicazione wireless attraverso la rete Internet. Un’attenta

analisi dei bisogni tecnologici e delle richieste da parte dei terapisti hanno portato

alla scelta degli attuatori e dei sensori da installare all’interno del delfino.

In particolare all’interno dello smart object sono presenti i seguenti sensori:

Tasti capacitivi: quattro tasti capacitivi in grado di riconoscere il tocco da parte

del bambino. Sono stati posizionati in zone strategiche del delfino ovvero testa,

pancia, pinna destra e pinna sinistra.

Lettore di schede RFID: lettore per la lettura di apposite schede, posto

all’interno della bocca del delfino. Esso è in grado di leggere il codice univoco

presente su ogni tessera.

Gli attuatori presenti sono invece:

Movimento degli occhi: mediante un motore il delfino può sbattere gli occhi

oppure posizionarli in tre pose diverse ovvero chiusi, socchiusi o aperti.

Movimento della bocca: mediante un motore il delfino può sbattere la bocca

oppure tenerla aperta per qualche secondo

Luci Led: luci rgb posizionate sulle quattro parti sensibili del delfino ovvero

testa, pancia, pinna destra e pinna sinistra.

Cassa sonora: posizionata nella testa è in grado di riprodurre qualunque suono

o musica memorizzati all’interno dello smart-object.

Cassa Bluetooth: posizionata nella testa consente di riprodurre qualunque

suono o musica dal device collegato con connessione Bluetooth.

Page 54: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

36

Fig. 4.2-1: Sensori e attuatori di Dolphin Sam.

Un elemento importante di Dolphin Sam è l’applicazione che consente di definire e

di utilizzare attività specifiche per il bambino. Il sistema più adatto ad accogliere

l’applicazione è rappresentato dal dominio Web. In questo modo è infatti possibile

accedere da ogni luogo alle informazioni salvate online ed è possibile effettuare

cambiamenti alle funzionalità offerte dall’applicazione stessa. L’applicazione che si

trova quindi all’interno di un sito web è accessibile da pc, tablet o smartphone.

Nelle sessioni di gioco sono previsti due tipi di utenti attivi: il terapista e il

bambino. Il primo è colui che gestisce l’applicazione e il collegamento tra le varie

parti del sistema, il secondo costituisce l’utilizzatore finale di Dolphin Sam,

interagisce con il delfino e svolge varie attività.

Un ulteriore utente presente all’interno del sistema è l’amministratore che

possiede il controllo totale sui dati. L’amministratore potrebbe essere lo

sviluppatore stesso, come nel caso di utilizzo da noi descritto, nel quale

l0associazione di cura l’Abilità Onlus collabora direttamente con il laboratorio

i3Lab, ente di ricerca in cui è stato ideato e sviluppato Dolphin Sam.

Il collegamento di queste componenti è effettuato mediante tre fasi differenti.

Page 55: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

37

Autenticazione Utente

Per poter utilizzare l’applicazione, e con essa le attività specifiche per il bambino, è

necessario effettuare la connessione ad essa. Il sistema prevede che questa fase

non venga effettuata dall’utente finale (il bambino) bensì da chi sta seguendo con

lui la sessione terapeutica, cioè il terapista o il genitore. Il sistema prevede che ogni

terapista abbia un proprio profilo personale con cui accedere all’applicazione.

Le informazioni riguardanti questo utente vengono quindi memorizzate nella

relativa tabella all’interno del database di gestione del sistema.

La prima volta che ci si connette all’applicazione è quindi necessario creare il

proprio account attraverso la pagina di “Sign up”. La creazione del profilo richiede:

Credenziali di accesso: viene richiesta una mail che fungerà da username e una password. Nel caso presente lo username corrisponde ad una e-mail valida così da garantire un identificativo univoco ed evitare di richiedere ripetutamente l'inserimento di un nome diverso da quello di un altro utente registrato.

Informazioni personali: si chiede di inserire semplici informazioni personali

come nome, cognome e genere. Queste informazioni saranno poi utilizzate

anche per una visione grafica del profilo utente.

Informazioni specifiche: viene richiesto il centro terapeutico a cui è legato il

terapista/genitore, selezionabile da una lista di centri predefinita. Questa

informazione è richiesta per la personalizzazione dell’applicazione a seconda

del centro di appartenenza.

Una volta inseriti i dati, il sistema effettuerà automaticamente la procedura di

Login connettendo l’utente all’applicazione.

Page 56: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

38

Fig. 4.2-2: Flow Chart della registrazione di un utente al sistema.

Page 57: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

39

Fig. 4.2-3: Schermate di registrazione ed autenticazione alla web application.

Se l’utente è già registrato può connettersi all’applicazione mediante la pagina di

Login in cui sono richieste le credenziali (email e password) inserite al momento

della registrazione. Una volta effettuato l’accesso si verrà automaticamente

reindirizzati alla pagina di connessione del delfino.

Page 58: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

40

Fig. 4.2-4: Flow Chart dell’autenticazione di un utente al sistema.

Dopo che si è effettuato l’accesso tutti i dati sopracitati sono modificabili mediante

la pagina di profilo personale dell’utente.

Connessione delfino

Per poter utilizzare il delfino nella modalità integrata è necessario che esso sia

connesso agli altri elementi del sistema in modo da poter comunicare con loro. Il

mezzo di comunicazione tra queste componenti è la rete Internet senza fili a cui

sono quindi collegate l’applicazione (mediante il device con la quale la si sta

utilizzando), il delfino e gli elementi dello smart space.

Se è la prima volta che si utilizza lo smart object occorre innanzitutto aggiungerlo

alla lista dei delfini dell’utente. Ogni delfino possiede un id personale ed univoco

Page 59: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

41

stampato sulla sua etichetta. Per collegare lo smart object, l’utente deve

semplicemente premere il pulsante “ADD NEW DOLPHIN”, inserire l’id del delfino

nell’apposita text box e premere il pulsante “Add”. Una label comunicherà l’esito

positivo o negativo (ad esempio in caso di id già esistente) dell’aggiunta. In caso di

esito favorevole, il delfino verrà associato all’utente che lo ha aggiunto all’interno

del database di gestione del sistema. In questo modo lo stesso delfino potrà essere

associato ed utilizzato da più utenti differenti.

Questo schema è stato pensato in caso di produzione di più smart object come è

effettivamente avvenuto nel nostro studio, data la realizzazione di due delfini, uno

per il centro Sam Foundation e uno per il centro L’Abilità.

Una volta che lo smart object è associato all’utente, l’applicazione permette di

collegarlo alla rete WiFi mediante la pagina di gestione del delfino.

Per fare questo è necessario selezionare, tra tutti i delfini associati all’utente,

quello che si vuole utilizzare durante la sessione di gioco. Per scegliere lo smart

object è necessario premere il pulsante “SELECT A DOLPHIN”, selezionare il delfino

che si vuole utilizzare e premere sul pulsante “Select”. Una volta selezionato

apparirà sulla barra superiore il delfino scelto mentre il sistema cercherà

automaticamente di collegarsi allo smart object. Una label comunicherà l’esito

positivo o negativo della connessione. Il delfino è in grado di ricordare l’ultima rete

WiFi a cui è stato associato quindi se esso è già stato precedentemente collegato

alla rete che si sta utilizzando risulterà già connesso. In caso di esito negativo

occorre effettuare la connessione, seguendo le istruzioni mostrate a schermo. Dopo

aver premuto il pulsante “CONNECT DOLPHIN” è necessario scollegare dalla rete il

device su cui si sta utilizzando l’applicazione per connetterlo alla rete dello smart

object. A questo punto è possibile comunicare al delfino le credenziali della nuova

rete, inserendo SSID e Password negli appositi campi e premendo sul pulsante

“Connect”. Una label comunicherà l’esito positivo o negativo della connessione.

Dopo aver effettuato la connessione tra delfino e rete WiFi, occorre disconnettere il

dispositivo dalla rete del delfino e ricollegarlo alla propria rete WiFi attraverso la

quale avverrà ora la comunicazione tra l’applicazione e il delfino.

Page 60: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

42

Fig. 4.2-5: Flow Chart della connessione del delfino alla rete.

Page 61: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

43

Fig. 4.2-6: Delfino connesso alla rete.

Fig. 4.2-7: Connessione del delfino alla rete.

Ambiente

Per fornire un’esperienza il più stimolante possibile sono coinvolte anche delle

componenti ambientali che però devono essere collegate alla stessa rete. La

comunicazione avviene sempre tramite chiamate HTTP. Le componenti utilizzate

nel nostro progetto sono luci ambientali Philips Hue e una Smart Plug alla quale è

possibile connettere qualsiasi dispositivo. Aspetto molto importante dello smart

space di Dolphin Sam è il fatto che le sue componenti sono tutte portabili, il che

Page 62: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

44

rende l’ambiente vincolato al sistema ma svincolato da uno specifico centro

terapeutico ed utilizzabile in più luoghi.

Luci Hue

La componente visiva risulta fondamentale in qualunque terapia per bambini con

disabilità mentali, soprattutto se attraverso dei colori si riescono a trasmettere

emozioni e concetti. Per questo motivo Dolphin Sam prevede l’utilizzo di luci

ambientali che possano fare da supporto alle attività con l’applicazione e il delfino.

Le luci possono essere utilizzate all’interno di un’attività sia per creare una vera e

propria scena assieme a delle immagini a schermo sia come rinforzo, positivo o

negativo, per l’azione del bambino. Le luci potrebbero anche essere sfruttate per

creare un’atmosfera rilassante.

Le luci utilizzate sono le Philips Hue Go, in grado di comunicare attraverso una rete

wireless e che, grazie alla loro batteria interna, possono essere facilmente

trasportate da un luogo ad un altro. Inoltre è possibile utilizzare più luci alla volta

per creare un vero e proprio ambiente che includa e stimoli il bambino a svolgere

un’attività.

Le luci comunicano attraverso la rete con la web application che permette di

controllare colore e luminosità. Per poter utilizzare le luci, esse devono essere

connesse alla stessa rete dell’applicazione mediante il Philips Hue Bridge.

Quando si utilizzano le luci Hue Go, la web application innanzitutto cerca di

connettersi a loro mediante il Bridge dopodiché, se l’esito è positivo, è in grado di

accendere o spegnere un gruppo di luci. Nel nostro progetto, le luci sono state

riunite tutte in un unico gruppo.

Le luci sono utilizzate soprattutto come reazioni all’interno delle attività.

È possibile impostare quando accenderle, di quale colore illuminarle e quando

spegnerle. Si fornisce inoltre la possibilità di modificare lo stato (se sono accese

spegnerle e viceversa) e di farlo dopo un certo periodo di tempo.

Tutte queste condizioni permettono di creare effetti di luce molto coinvolgenti per

le attività che il bambino va a svolgere. Un esempio è l’illuminazione della stanza di

blu quando sullo schermo si ha un’immagine notturna oppure di giallo quando dal

buio il sole sorge e la stanza quindi si illumina.

Smart Plug

Il concetto di rinforzo è molto importante all’interno di attività con bambini

disabili poiché attraverso di esso è possibile indicare loro se un certo

comportamento o una certa azione è corretta oppure no.

Page 63: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

45

Perché il rinforzo abbia effetto occorre che esso sia il più mirato e coinvolgente

possibile quindi Dolphin Sam mette a disposizione delle Smart Plug a cui collegare

qualsivoglia dispositivo in grado di fornire un feedback.

Una Smart Plug è una presa intelligente e controllabile alla quale è possibile

collegare qualsiasi dispositivo che sarà poi comandato dalla Smart Plug stessa.

La Smart Plug possiede un proprio indirizzo IP fisso e quindi può comunicare con

la web application attraverso la rete WiFi. L’applicazione può inviare dei comandi

alla presa in modo da accenderla, spegnerla o cambiarne lo stato (spegnendola se è

accesa o viceversa) controllando di fatto il dispositivo a lei collegato.

Per utilizzare la Smart Plug è sufficiente collegarla alla corrente. Questo dispositivo

risulta quindi portabile e di facile utilizzo.

Anche i dispositivi connessi alla Smart Plug, così come le luci, sono utilizzati

soprattutto per fornire un rinforzo durante le attività.

È possibile impostare quando accendere i dispositivi, quando spegnerli oppure

modificarne lo stato (se sono accesi spegnerli e viceversa) e di farlo dopo un certo

periodo di tempo.

Il dispositivo utilizzato all’interno di Dolphin Sam e collegato alla Smart Plug è una

macchina spara bolle. Questo device fornisce un rinforzo scenografico,

appariscente e coinvolgente per il bambino.

Fig. 4.2-8: Smart Plug e Bubble Machine

Page 64: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

46

4.3 Modalità Autonoma

La Modalità Autonoma prevede che il bambino utilizzi il delfino singolarmente

senza l’integrazione né con l’applicazione né con l’ambiente.

In questo caso lo smart object non deve comunicare con le altre componenti del

sistema e quindi non è necessario che sia connesso alla rete Internet. Il delfino in

Modalità Autonoma può perciò essere utilizzato in qualunque luogo e in qualunque

momento.

Il delfino presenta un set di comportamenti predefiniti molto adatti al processo di

familiarizzazione del bambino sia con lo smart object sia con il concetto di azione-

reazione. I comportamenti proposti dal delfino sono molto semplici ed espressivi e

permettono al bambino di famigliarizzare con un oggetto nuovo, sviluppando

anche il concetto di azione-reazione, fondamentale poi all’interno delle attività

nella Modalità Integrata. Oltre che per la familiarizzazione, la Modalità Autonoma è

molto utile in quanto permette al bambino di giocare con il delfino dappertutto.

Portando lo smart object anche nei luoghi di frequentazione quotidiana del

bambino, Dolphin Sam diventa un elemento di inclusione all’interno dell’ambiente

in cui il bimbo vive.

I comportamenti del delfino si basano sul concetto di azione-reazione in quanto il

bambino deve agire su un sensore dello smart-object affinché questo produca una

risposta.

Alcuni comportamenti predefiniti per questa modalità sono:

Nella Modalità Autonoma tutto il processo di esecuzione viene gestito dal delfino

stesso. L’arduino all’interno dello smart object monitora continuamente i sensori e,

se uno di questi viene azionato, controlla se sono presenti delle reazioni da

effettuare. In caso positivo sospende la lettura ed esegue in ordine tutte le reazioni

impostate mettendo in azione di volta in volta gli attuatori specifici.

Evento Reazione Occhi Bocca Suono Luce

Accarezza

Testa

Delfino si rilassa Sbatte

occhi

Bocca

chiusa

Emette suono

“grrr”

Inserisci

ciuccio

Delfino si

addormenta

Occhi

chiusi

Bocca

chiusa

Emette suono

“zzz”

Inserisci

pesce

Delfino mangia Occhi

aperti

Sbatte

bocca

Emette suono

“gnam”

Inclina

delfino

Delfino si

illumina

Effetto

arcobaleno

Page 65: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

47

4.4 Modalità Integrata

La Modalità Integrata unisce l’utilizzo dello smart object all’interazione con

un’applicazione web e con le componenti dell’ambiente. L’elemento centrale di

questa modalità sono le attività create e memorizzate all’interno dell’applicazione

le quali coinvolgono in giochi istruttivi i bambini, portati in questo modo a

relazionarsi con tutte e tre le componenti del sistema.

Questa modalità coinvolge tutte le componenti della tecnologia di Dolphin Sam ed

è quindi necessario che queste siano connesse tra loro attraverso la rete WiFi così

da poter comunicare. L’utilizzo del delfino in Modalità Integrata è quindi

subordinato alla presenza di una rete wireless e alla connessione ad essa da parte

di delfino, applicazione (mediante il device sulla quale la si sta utilizzando) e

componenti dell’ambiente.

Le attività sono basate sempre sul concetto di azione-reazione: il bambino deve

interagire con lo smart object o con l’applicazione affinchè si abbia una reazione da

parte del sistema. La gestione di tutta questa logica è affidata all’applicazione. Essa

percepisce uno stimolo da parte del bambino e comunica alle componenti le

eventuali reazioni da mostrare.

Dolphin Sam mette a disposizione dell’utente dei giochi predefiniti, costruiti

seguendo le indicazioni dei terapisti del centro L’Abilità. La grande potenzialità di

questo progetto però è la possibilità di costruire nuove attività personalizzate e

specifiche per le esigenze del bambino che le andrà ad utilizzare.

Dolphin Behaviors

La Modalità Integrata di Dolphin Sam permette di utilizzare lo smart object in

combinazione con una web application in grado di comandare le reazioni

dell’oggetto. L’applicazione è dotata di un pannello chiamato “Dolphin Behaviors”

sul quale vengono elencate tutte le possibili reazioni del delfino e dell’ambiente. In

questo modo i terapisti possono azionare i singoli comportamenti del delfino per

far familiarizzare il bambino con il nuovo gioco.

Le possibili reazioni del delfino sono:

Light Dolphin: attraverso quattro tasti è possibile scegliere quale o quali parti

del delfino illuminare e di che colore (grazie ad una paletta colori). Un altro

tasto permette di spegnere tutte le luci accese.

Page 66: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

48

Light Effect: grazie ad un menu a tendina è possibile selezionare l’effetto

luminoso da riprodurre sul delfino. Sono in oltre presenti due tasti, uno per

avviare la riproduzione e uno per interromperla.

Move Eyes: è presente un tasto per far aprire gli occhi del delfino, uno per farli

chiudere e uno per farli sbattere.

Move Mouth: il pannello presenta un tasto per far aprire la bocca e uno per farla

muovere.

Play Music: attraverso un menu a tendina è possibile selezionare la canzone da

riprodurre, un tasto avvia la riproduzione, uno la interrompe e uno consente di

eliminare la canzone selezionata. Infine si ha un mini pannello per poter

inserire una nuova canzone sul delfino.

Play Emotion: un menu a tendina consente di selezionare l’emozione da

riprodurre e un tasto avvia la riproduzione.

Hue Lights: il pannello mostra un tasto per accendere la luce Hue Go e uno per

spegnerla. Oltre a questi tasti è presente una paletta per scegliere il colore delle

luci e una barra per selezionarne la luminosità.

Smart Plug: attraverso un tasto è possibile accendere e spegnere la Smart Plug.

Dolphin Behaviors è stato progettato come una sorta di pannello di controllo

dell'intero sistema. Esso consente di verificare che tutti le componenti siano

effettivamente funzionanti.

Oltre a questa funzione di amministrazione è possibile anche utilizzare il pannello

creando delle “micro attività” per aiutare il bambino nella familiarizzazione

graduale con il delfino e con l’ambiente imparando anche il concetto di azione-

reazione. Durante le prime sedute ad una qualsiasi azione del bambino il terapista

aziona la reazione che vuole così da assistere il bimbo nell’approccio con lo smart

object facendogli contemporaneamente apprendere il concetto di azione-reazione.

In questo modo si evita di rendere eccessivamente stimolante il primo utilizzo di

Dolphin Sam all’interno di un’attività.

Creazione Attività

La grande forza di questo progetto è quella di sviluppare le capacità di

apprendimento del bambino mediante attività specifiche di gioco. Dolphin Sam

permette di creare nuove attività così da poter soddisfare il più possibile le

esigenze che i bambini con disturbi mentali di volta in volta presentano.

Per creare un’attività è necessario essere collegati all’applicazione mediante il

proprio account e connettersi al relativo panello. All’interno di questa pagina si

trovano tre sezioni differenti: la prima consente la creazione vera e propria di una

Page 67: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

49

attività, la seconda mostra tutti gli elementi multimediali (immagini, video, suoni e

tag RFID) della piattaforma mentre la terza permette di scaricare nuove immagini

o video e permette di caricare all’interno del sistema i propri contenuti personali.

Il pannello per la creazione di nuove attività mostra un menu formato da

blocchetti, ognuno dei quali rappresenta un possibile comportamento del delfino,

dell’applicazione o dell’ambiente. Ogni blocchetto è caratterizzato da un’immagine

intuitiva che mostra il comportamento in modo da rendere semplice ed immediata

la creazione dell’attività.

La scelta di utilizzare un meccanismo a blocchetti deriva da una precedente analisi

di Scratch, un linguaggio di programmazione sviluppato nel 2003 dal gruppo

Lifelong Kindergarten del MIT Media Lab. Esso è stato inizialmente progettato per

l’insegnamento della programmazione tramite primitive visive ma è stato poi

utilizzato in altri ambiti come in progetti pedagogici. Il nome deriva dalla omonima

tecnica usata dagli artisti del giradischi per mixare e remixare e allude alla facilità

con cui è possibile creare nuovi progetti o modificare progetti già esistenti.

Scratch è caratterizzato da una programmazione con blocchi di costruzione

(blocchi grafici) creati per adattarsi uno all'altro, solo se inseriti in una corretta

successione. In questo modo si evitano inesattezze nella sintassi.

Come in un puzzle, i blocchetti possono collegarsi tra loro solo se si segue una certa

logica e struttura. Ad ogni blocchetto è associato del codice in modo che la

creazione o la modifica di un progetto porti alla generazione di un vero e proprio

script.

Il pannello di creazione delle attività di Dolphin Sam si basa su questa tecnica,

associando ad ogni blocchetto un codice che si riferisce ad una particolare azione o

reazione. La combinazione dei blocchetti dà vita ad una sequenza organizzata di

codice che rappresenta quindi la logica del gioco. Questa sequenza viene poi

analizzata ed interpretata durante l’esecuzione dell’attività.

Il contenuto dell’attività viene salvato all’interno di un file JSON.

Il JSON (JavaScript Object Notation) è un formato basato su JavaScript e adatto per

l’interscambio di informazioni all’interno di applicazioni client-server. I file JSON

contengono codice ordinato e parentesizzato all’interno del quale si trovano le

informazioni che si vogliono salvare.

Questo formato è il più adatto per lo scambio di informazioni in sistemi come

quello di Dolphin Sam. All’interno di questo file la logica dell’attività viene

organizzata e memorizzata in modo da poterla poi estrarre e leggere durante la

sua esecuzione.

Il pannello possiede diversi blocchetti divisi per comportamento:

User Action: azioni che l’utente può compiere sul delfino o sull’applicazione

(esempio: toccare la testa del delfino o premere un certo tasto sulla tastiera).

Page 68: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

50

Dolphin Behaviors: comportamenti che il delfino può compiere a seguito di

un’azione (esempio: sbattere gli occhi).

Screen Effects: effetti grafici che l’applicazione può mostrare a schermo a

seguito di un’azione (esempio: il mostrare tre immagini secondo un template

predefinito).

Ambient Effects: effetti grafici che l’ambiente può mostrare a seguito di

un’azione (esempio: accensione delle Hue Lights di un certo colore).

Other Actions: altre azioni di gestione dell’attività da compiere a seguito di

un’azione (esempio: passare a un’altra attività).

Come già spiegato, le attività si basano sul concetto di azione-reazione (che d’ora in

poi chiameremo trigger). Per creare un’attività è quindi necessario combinare in

modo corretto i blocchetti di azione (User Action) con quelli di reazione (Dolphin

Behaviors, Screen Effects, Ambient Effects e Other Actions). Ogni trigger inizia con

l’inserimento di un blocchetto di azione e, sotto di esso, dovranno essere

posizionati i blocchetti relativi alle reazioni che si vogliono associare a quel

determinato evento. Non è possibile inserire un’azione sotto un’altra azione ed è

vietato anche l’inserimento di reazioni che non siano associate a nessuna azione.

Nel momento della creazione compare di default un blocchetto rappresentante

l’inizializzazione (init) dell’attività, cioè cosa deve accadere una volta che si accede

al gioco.

Esempio

L’esecuzione di queste sequenze di azione-reazione è parallela l’una con l’altra

quindi non è possibile impostare una sequenza ordinata di trigger ma al contempo

si dà la possibilità di eseguire, all’interno di uno stesso gioco, più combinazioni

differenti. In questo modo si dà la possibilità al terapista di creare delle attività in

cui le stesse reazioni sono effettuate sia se il bambino compie il gesto corretto sia

se viene premuto un certo tasto sulla tastiera. Così facendo se il bambino non è in

grado di compiere l’azione richiesta (come ad esempio per bambini con gravi

problemi a livello fisico o nel caso dei primi approcci al gioco) il terapista può

camuffare l’azione del bambino premendo lui un tasto sulla tastiera che porta

comunque alla reazione così da aiutare il bambino nello svolgimento del gioco

mantenendo comunque coerenza con le necessità terapeutiche.

Page 69: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

51

Fig. 4.4-1: Esempio di creazione di un’attività.

La seconda parte del pannello di creazione delle attività presenta delle schede

contenenti le immagini, i video e i suoni che è possibile mostrare a schermo o che è

possibile riprodurre con il delfino. All’interno della piattaforma sono già presenti

alcuni contenuti tipicamente utilizzati nelle attività di gioco per bambini con

disabilità.

Questi elementi sono fondamentali per le attività poiché l’impatto visivo e sonoro è

quello che più cattura l’attenzione del bambino. La piattaforma offre quindi la

possibilità di caricare nuovi contenuti mediante il download da Internet oppure

mediante l’upload da locale.

La possibilità di aggiungere nuovi elementi multimediali al sistema è offerta dalla

terza parta del pannello di creazione delle attività. Attraverso una prima scheda è

possibile effettuare il download di immagini, una seconda scheda permette il

download di video mentre una terza il caricamento di file locali. I file aggiunti

saranno personali dell’utente che li ha inseriti. Mediante questo pannello è

possibile caricare nuovi elementi specifici per le esigenze dei bambini in modo da

personalizzare le attività.

Page 70: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

52

Fig. 4.4-2: Download di una immagine.

La creazione di una nuova attività termina con il suo salvataggio. L’attività viene

associata all’utente che l’ha creata e potrà essere utilizzata ogni volta che il

terapista lo vorrà.

L’applicazione offre anche la possibilità di modificare un’attività precedentemente

creata. Dopo aver selezionato il pulsante “modifica”, l’applicazione aprirà il

pannello di creazione attività mostrando la struttura a blocchi dell’attività da

correggere. In questo modo il terapista può rimediare ad errori commessi in fase di

creazione oppure può modificare un’attività secondo le diverse esigenze che si

sono riscontrate con l’utilizzo del gioco nella versione originale. Ad esempio se un

bambino non riesce a riconoscere una certa immagine oppure se è particolarmente

disturbato da un certo suono, è possibile modificare l’attività così da migliorarla.

Tutto questo rende le attività di Dolphin Sam il più personalizzabile possibile

rispetto alle esigenze del bambino che andrà a giocarci.

Esecuzione Attività

La forza di Dolphin Sam è costituita dalle attività di gioco mirate ad aiutare i

bambini con disabilità a cui il progetto è rivolto. Per poter giocare con esse è

necessario collegarsi alla pagina di Selezione delle Attività e selezionare quella con

cui si vuole giocare.

Nella pagina di selezione delle attività viene mostrata una lista composta da alcune

attività predefinite che il sistema fornisce e da tutte le attività che sono state create

dal terapista che sta utilizzando l’applicazione. Una volta selezionata un’attività è

possibile giocare, modificare oppure eliminare la stessa. Le opzioni di modifica e di

Page 71: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

53

eliminazione sono consentite solo per le attività create dall’utente collegato poiché

non è permesso andare ad agire su quelle predefinite.

Se si preme sul tasto “Elimina” si rimuove definitivamente l’attività dalla

piattaforma quindi in questo caso è consigliato fare molta attenzione per evitare di

perdere irrimediabilmente il gioco.

Infine per poter giocare si preme sul tasto “Seleziona”, quindi poco più sotto

appare un nuovo pulsante che mostrerà lo stato del sistema in relazione al gioco

selezionato. Il pulsante sarà verde se è possibile accedere all’attività mentre sarà

rosso se non è possibile giocare. Questo secondo caso si ha se l’attività prevede

l’utilizzo del delfino ma questo non è connesso. In questo caso infatti, se si

accedesse all’attività, non si potrebbe giocare e si riscontrerebbero dei problemi

legati alla mancata connessione del delfino all’interno della rete. Nel caso in cui si

premesse il pulsante colorato di rosso si verrebbe mandati alla pagina di

connessione del delfino mentre se si premesse il pulsante colorato di verde si

accederebbe all’attività così da poterci giocare.

Mediante queste funzionalità il terapista è quindi in grado di controllare tutte le

attività create e di agire su di esse come meglio crede. Questo aspetto rende

Dolphin Sam molto flessibile e aperto rispetto alle varie esigenze degli utenti della

piattaforma.

Fig. 4.4-3: Selezione di un’attività.

Una volta entrati nella pagina dell’attività è quindi possibile giocare effettivamente

con Dolphin Sam. Qua si sviluppa effettivamente il gioco e il meccanismo di azione-

reazione con il sistema che reagisce ad ogni interazione del bambino.

Per prima cosa l’applicazione effettua l’inizializzazione del gioco, dopodiché esegue

in sequenza tutte le reazioni impostate per lo stato iniziale. In questa fase se si sta

utilizzando uno dei giochi predefiniti viene mostrato a schermo un testo con scritto

Page 72: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

54

ciò che deve fare il bambino, una o più immagini relative al gioco e, in alcune

attività, viene anche riprodotto dal delfino un audio di chiarimento sui

comportamenti da eseguire. Questa parte risulta quindi essere quella di

spiegazione dell’attività e di aiuto al bambino per la comprensione del gioco.

Vengono effettuate le azioni relative allo stato iniziale, dopodiché l’applicazione si

pone in ascolto delle componenti del sistema, in attesa dei possibili eventi che il

bambino può compiere su di essi. In questa fase l’applicazione effettua il cosiddetto

Polling andando a monitorare costantemente tutti gli elementi del sistema pronta a

reagire in caso di interazione con uno di essi. Nel momento in cui il bambino

compie un’azione il monitoraggio viene interrotto e si va ad esaminare ciò che è

accaduto. Viene quindi confrontata l’azione avvenuta con tutte le possibili azioni

associate all’attività corrente verificandone le corrispondenze. In caso positivo

vengono eseguite in ordine tutte le reazioni sul delfino, sull’applicazione e

sull’ambiente rispetto a quell’evento. Si realizza così il meccanismo con azione

l’azione del bambino seguito dalle reazioni da parte del delfino, dell’applicazione e

dell’ambiente. Una volta concluse le reazioni l’applicazione ricomincia il Polling in

attesa di un nuovo evento e di nuovi trigger da eseguire, tutto questo senza avere

una “fine” vera e propria dell’attività che quindi può ripetersi all’infinito.

Tutto questo processo potrebbe sembrare lungo ma viene in realtà effettuato in

tempi nell’ordine dei millisecondi. Il meccanismo di azione-reazione fornisce dei

feedback immediati al bambino. Il meccanismo di azione-reazione è implementato

in tempo reale così da garantire un’esperienza di gioco interessante e utile per

l’apprendimento del bambino.

Fig. 4.4-4: Schema di comunicazione.

Page 73: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

55

Esempi di attività

In questa parte verranno elencati alcuni esempi di attività realmente sviluppate ed

utilizzate con i bambini presso il centro terapeutico L’Abilita.

Ognuno di questi giochi porta un miglioramento specifico e tutti coinvolgono

un’interazione del bambino con il delfino. Questa interazione può essere

l’accarezzamento, l’inserimento di una tessera nella sua bocca o il premere sullo

schermo, tutti gesti che coinvolgono coordinazione, concentrazione e mobilità e

che quindi portano dei benefici impliciti anche solo nel riuscire a compiere il gesto

richiesto.

Esempio 1 - Sunrise

Nell’attività “Sunrise” inizialmente si ha il delfino che dorme, le luci dell’ambiente

colorate di blu e sullo schermo è mostrata l’immagine di un paesaggio marittimo

notturno.

Una volta che il bambino accarezza il delfino questo si sveglia, apre gli occhi e

reagisce felice. Contemporaneamente sullo schermo parte un video in cui il sole

sorge e dalla notte si passa all’alba e poi al giorno. Lo smart space reagisce

cambiando il colore delle luci da blu a gialle.

Questa attività permette al bambino di capire i concetti temporali del giorno e della

notte e può essere utilizzata come step iniziale di una serie di attività in sequenza

che partono dalla sveglia mattutina fino ad arrivare all’addormentarsi.

Esempio 2 - Eat Dolphin

Nell’attività “Eat Dolphin” inizialmente sullo schermo compaiono un delfino e una

scritta che recita “Ho fame, dammi da mangiare”. Il delfino invece non reagisce, ha

accanto a se le tessere del pesce e della carne e pronuncia la stessa frase così da far

capire al bambino il suo stato d’animo.

Se il bambino inserisce nella bocca del delfino il pesce esso inizierà a muovere la

bocca e a mangiarlo, se invece inserisce la carne esso la rifiuterà schifato. L’azione

del bambino può essere subordinata ad un dialogo con il terapista con il primo che

chiede “Posso dare da mangiare al delfino?”.

Mediante questa attività il bambino può così imparare alcune regole di

comportamento, le differenze tra cibi diversi

Esempio 3 – Puppies

Nell’attività “Puppies” inizialmente vengono mostrate a schermo tre immagini: la

prima, quella più grande e centrale, mostra la mamma di un animale mentre le due

Page 74: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

4 UX Design

56

più piccole sotto mostrano due cuccioli, uno associato alla mamma di sopra e un

altro.

Il terapista chiede qual è il cucciolo associato alla mamma e il bambino deve

premere sullo schermo l’immagine corretta oppure indicarla. Se la scelta è corretta

sullo schermo comparirà un’immagine di esultanza, il delfino reagirà mostrando

felicità, le luci dell’ambiente si coloreranno di giallo e la smart plug si attiverà per

cinque secondi facendo partire la macchina delle bolle. In caso di risposta errata,

invece, non ci sarà nessun tipo di reazione.

Questo gioco permette al bambino di imparare tutti i concetti che coinvolgono i

vari animali e non presenta rinforzo negativo per evitare che il bambino, a cui

interessa solo lo stimolo, interpreti come corretta una risposta invece sbagliata.

Page 75: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

57

5 Implementazione Hardware

In questo capitolo viene presentata la realizzazione fisica di Dolphin Sam.

Nella prima sezione vengono descritti tutti i singoli componenti presenti nello

smart object con i rispettivi programmi (sketch) di funzionamento e una

descrizione sui metodi di comunicazione utilizzati.

Nella seconda sezione invece vengono presentati i vari metodi utilizzati per

alimentare il delfino.

Nella terza sezione viene presentata la realizzazione dell'hardware: vengono

mostrati tutti i passaggi seguiti nella progettazione del circuito fino alla sua

realizzazione vera e propria.

Nella quarta ed ultima sezione viene mostrata la realizzazione fisica del corpo del

delfino, mostrando la posizione dei sensori e degli attuatori.

In questo capitolo con il termine Dolphin Sam verrà indicato solo lo smart object

(delfino) e non l’intero sistema.

5.1 Componenti e metodi di comunicazione

Prima di parlare dei componenti integrati in Dolphin Sam vengono descritti i

possibili metodi di comunicazione tra microcontrollori.

Comunicazione

In questa sezione vengono trattati i metodi di comunicazione utilizzati nel progetto

per effettuare la trasmissione di dati tra i vari dispositivi presenti all’interno di

Dolphin Sam.

Trasmissione seriale

La trasmissione seriale è una modalità di comunicazione tra dispositivi digitali

nella quale i bit sono trasmessi uno di seguito all'altro e giungono sequenzialmente

al ricevente nello stesso ordine in cui il mittente li ha inviati.

La modalità seriale è una delle più diffuse in ambito informatico nonostante abbia

una complessità architetturale e gestionale maggiore rispetto alla trasmissione

parallela. Il vantaggio della modalità seriale è quello di richiede un minor numero

di fili e questo porta a una riduzione dei costi e a una maggiore tolleranza rispetto

alle interferenze e agli errori di trasmissione.

Page 76: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

58

Comunicazione SPI

Il Serial Peripheral Interface o SPI è un sistema di comunicazione tra un

microcontrollore ed altri circuiti integrati o tra più microcontrollori.

La trasmissione avviene tra un dispositivo detto master e uno o più dispositivi

slave. Il master controlla il bus, emette il segnale di clock, decide quando iniziare e

terminare la comunicazione.

Il bus SPI si definisce:

di tipo seriale; sincrono - per la presenza di un clock che coordina la trasmissione e ricezione

dei singoli bit e determina la velocità di trasmissione; full-duplex - in quanto il "colloquio" può avvenire contemporaneamente in

trasmissione e ricezione. Per quanto riguarda la velocità di scambio dei dati (frequenza di clock) non vi è un

limite minimo mentre esiste un limite massimo che va determinato dai datasheet

dei singoli dispositivi connessi.

Il sistema è comunemente definito a quattro fili. Con questo si intende che le linee

di connessione che portano i segnali sono in genere quattro.

Dal momento che è necessaria la presenza di una connessione di riferimento (0

Vdc comunemente indicata con GND) i fili risultano quindi cinque.

La comunicazione SPI si basa su 4 segnali:

SCLK / SCK: Serial Clock (emesso dal master).

SDI / MISO: Serial Data Input / Master Input Slave Output (ingresso per il

master ed uscita per lo slave).

SDO / MOSI: Serial Data Output / Master Output Slave Input (uscita dal master).

CS / SS: Chip Select, Slave Select, emesso dal master per scegliere con quale

dispositivo slave vuole comunicare (in figura 5.1-1, il segnale SS è negato,

quindi per comunicare con il dispositivo slave, il segnale deve essere messo a

livello logico basso).

Page 77: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

59

Fig. 5.1-1: Comunicazione SPI.

Comunicazione I²C

I²C, abbreviazione di Inter Integrated Circuit, è un sistema di comunicazione

seriale utilizzato tra circuiti integrati.

Il bus I²C è composto da almeno un master e da uno slave. Nella situazione più

frequente si ha un singolo master e più slave.

Il protocollo hardware dell'I²C richiede due linee seriali di comunicazione:

SDA (Serial DAta) per i dati.

SCL (Serial CLock) per il clock. Grazie alla presenza di questo segnale l'I²C

risulta essere un bus sincrono.

Occorre aggiungere una connessione di riferimento detta GND e una linea di

alimentazione Vdd a cui sono connessi i resistori di pull-up. Le tensioni tipiche

usate sono +5V o +3.3 V.

Fig. 5.1-2: Comunicazione I²C.

Page 78: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

60

Componenti

Nella sezione seguente sono elencati i dispositivi presenti all’interno dello smart

object, corredati da una descrizione sintetica e da sketch di esempio che mostrano

il metodo di funzionamento del dispositivo.

Arduino mega 2560

Arduino è una scheda elettronica di piccole dimensioni con un microcontrollore

ATmega, ideata come strumento hardware per la prototipazione rapida.

La piattaforma fisica si basa su un circuito stampato che integra un

microcontrollore con pin connessi alle porte I/O, un regolatore di tensione e

un'interfaccia USB che permette la comunicazione seriale con il computer. A

questo hardware viene affiancato un ambiente di sviluppo integrato (IDE)

multipiattaforma.

Questo software permette di scrivere programmi con un linguaggio derivato da C e

C++ chiamato Wiring. I programmi in Arduino vengono chiamati sketch.

Esistono diverse tipologie di Arduino, caratterizzate da microcontrollori differenti.

Il modello che meglio soddisfa le esigenze del nostro progetto è Arduino Mega

2560, caratterizzato da un microcontrollore basato su ATmega2560.

Questa tipologia di Arduino ha 54 pin digitali usati come input/output (15 di

questi possono essere usati come PWM in output), 16 ingressi analogici, ciascuno

dei quali fornisce 10 bit di risoluzione (cioè 1024 valori differenti), e 4 UARTs

(hardware serial ports). Arduino Mega possiede, inoltre, una presa USB, un

connettore per la corrente, un ICSP header e un pulsante di reset.

Page 79: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

61

Microcontrollore ATmega2560

Operating Voltage 5V

Input Voltage (raccomandato) 7-12V (raccomandato) | 6-20V (valori limite)

Digital I/O Pins 54 (15 dei quali permetto di ottenere un

segnale in uscita di tipo PWM)

Analog Input Pins 16

Corrente in ingresso o uscita per

ogni pin I/O

20 mA- 40 mA (valore limite)

Corrente erogabile dal Pin 3.3V 50 mA

Corrente erogabile dal Pin 5V 500 mA

Flash Memory 256 KB of which 8 KB used by bootloader

SRAM 8 KB

EEPROM 4 KB

Clock Speed 16 MHz

Lunghezza 101.52 mm

Larghezza 53.3 mm

Peso 37 g

Tabella 5.1-1: Specifiche tecniche di Arduino Mega 2560.

Ciascuno dei 54 pin digitali può essere utilizzato come ingresso o come uscita

utilizzando le funzioni pinMode(), digitalWrite(), e digitalRead(). Ciascun pin

opera a 5 volt ed è in grado di fornire o ricevere 20mA come condizione ottimale

ma regge fino ad un massimo di 40mA, valore limite per evitare danni strutturali

alla scheda. Come mostrato in tabella 5.1-2 alcuni pin hanno funzioni specializzate.

Pin Arduino Funzioni

0 (RX), 1 (TX) Serial. Questi pin sono collegati ai

corrispondenti pin dell’ATmega USB TTL

18 (TX), 19 (RX) Serial 1

16 (TX), 17 (RX) Serial 2

14 (TX), 15 (RX) Serial 3

2, 3 Interrupt 0, 1

18, 19, 20, 21 Interrupt 5, 4, 3, 2

2 – 13, 44 - 46 PWM a 8 bit

50 (MISO), 51 (MOSI), 52

(SCK), 53 (SS)

Comunicazione SPI

13 LED

20(SDA), 21(SCL) Comunicazione I2C

Tabella 5.1-2: Pin speciali Arduino Mega.

Page 80: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

62

Alimentazione Arduino

Per alimentare Arduino esistono diverse possibilità di seguito elencate.

Metodo 1: presa USB. Questa presa permette di collegare Arduino al pc oppure ad una un’alimentazione esterna.

Metodo 2: connettore di alimentazione. La tensione fornita a questa presa deve essere compresa tra 7V e 12V. Questa tensione passa attraverso un diodo di protezione, per evitare danni causati dall’inversione di polarità, e viene abbassata a 5V (tensione di funzionamento dell'ATmega) dal regolatore di tensione NCP1117. Questo regolatore ha una corrente massima in uscita di 800mA. Data questa limitazione, Arduino non è in grado di alimentare i dispositivi esterni che necessitano quindi di un’alimentazione separata.

Metodo 3: collegamento diretto al pin Vin. Questo metodo è molto simile al metodo con connettore, infatti anche in questo caso la tensione viene regolata attraverso il regolatore di tensione prima di arrivare ad Arduino. L'unica differenza sta nel fatto che questo pin non è protetto con il diodo quindi si può utilizzare una tensione minima inferiore, compresa tra 6.5V e 12V. Sul diodo infatti si ha una caduta di tensione pari a 0.5V.

Metodo 4: collegamento diretto al pin 5V. Si collega direttamente una tensione stabilizzata di 5V ad Arduino. La tensione deve obbligatoriamente essere compresa tra i 4.5V e i 5.5 V, pena il danneggiamento della scheda stessa. L’aspetto positivo è che non occorre passare dal regolatore di tensione evitando così possibili surriscaldamenti.

Analizzando i quattro metodi di alimentazione, si evince che il metodo migliore per

alimentare Arduino Mega è il quarto dato che richiede una tensione di soli 5V per

funzionare correttamente e non si utilizza nessun tipo di connettore particolare

(USB / jack). L’unico inconveniente è che bisogna fornire una tensione il più

possibile costante, in quanto il pin 5V di Arduino Mega non è protetto da nessun

tipo di circuito interno. Questo non rappresenta un problema in quanto la tensione

costante fornita dal circuito di controllo delle batterie è di 5V (vedere paragrafo

5.2).

Page 81: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

63

Modulo WiFi - ESP8266

Il modulo WiFi ESP8266 è un sistema su circuito integrato (SOC) autonomo.

Tramite il protocollo TCP / IP può fornire una connessione WiFi a qualsiasi

microcontrollore.

L’ESP8266 è molto economico e offre la possibilità di essere connesso facilmente

ad un microcontrollore, come Arduino, mediante i 2 pin seriali Tx e Rx.

Permette inoltre di interagire con lo sketch mediante comandi AT.

I comandi AT sono un insieme di comandi originariamente sviluppati per i modem

che consentono di preparare il modem per effettuare la comunicazione,

impostando caratteristiche come il tipo di connessione, i tempi di attesa, ecc..

Esempio di comandi AT sono:

“AT+RST”: restart del modulo. “AT+CWJAP = ’ssid’,’password’ ”: permette di connettere il modulo ad una

rete WiFi impostando il nome della rete (ssid) e la password. “AT+CWMODE = 1|2|3”: permette di impostare il WiFi mode del modulo come

“station | AceesPoint | station + AccessPoint”.

Fig. 5.1-3: ESP8266.

Pin Nome Descrizione

1 GND Ground

2 TX Trasmissione seriale TX

3 GPIO2 General Purpose Input/Output

4 CH_PD Per abilitare l’ESP8266 deve essere alimentato a

3.3V - 5V. Se connesso a GND l’ESP risulta spento

5 GPIO0 General Purpose Input/Output

6 RST Reset. Se connesso a GND l’ESP viene resettato

7 RX Ricezione seriale RX

8 VCC Alimentazione a 3.3 V

Tabella 5.1-3: Pin ESP8266.

Page 82: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

64

Pin Arduino Mega Componente Pin

2 ESP-8266 CH_PD

18 - TX1 ESP-8266 RX

19 - RX1 ESP-8266 TX

GND ESP-8266 GND

3.3V ESP-8266 3.3V

Tabella 5.1-4: Connessioni ESP8266 Arduino Mega.

Alimentazione

Il modulo ESP8266 viene alimentato direttamente dalla presa 3.3V di Arduino, in

quanto non richiede un valore particolarmente alto di corrente per funzionare.

Sketch

La comunicazione tra Arduino e ESP8266 avviene tramite seriale. Dato che

l’ESP8266 viene comandato tramite comandi AT è stata creata una funzione che

permette di inviare le stringhe AT sulla Seriale1 a cui è connesso il modulo WiFi.

Fig. 5.1-4: Sketch: comunicazione ESP8266 con Arduino Mega.

Page 83: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

65

Per ogni operazione con l’ESP8266 è stata creata un’apposita funzione. Le figure

5.1-5 e 5.1-6 mostrano due esempi di funzioni: come connettere il sistema ad una

rete WiFi e come creare un server TCP/IP.

Fig. 5.1-5: Sketch: connessione rete WiFi.

Fig. 5.1-6: Sketch: creazione server TCP/IP.

Page 84: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

66

Per analizzare i dati ricevuti dal modulo WiFi ESP8266 viene messa all’interno del

“void loop” una funzione che resta in ascolto sulla Seriale1. Appena ESP8266 riceve

un dato, questo viene scritto sulla Serial1. A questo punto si esegue la funzione con

il comando specificato e viene chiusa la connessione TCP.

Fig. 5.1-7: Sketch: analisi dei comandi inviati all’ESP8266.

Page 85: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

67

Update Firmware ESP8266

Prima di utilizzare l’ESP8266 occorre eseguire l’aggiornamento del firmware in

modo tale da avere l’ultima versione funzionante installata. In Dolphin Sam è stata

installata la versione “esp_iot_sdk_v1.4”.

Fig. 5.1-8: Aggiornamento firmware ESP8266

Per eseguire l’aggiornamento è necessario collegare l’ESP8266 ad un Arduino

come mostrato in tabella 5.1-5. A questo punto è necessario rimuovere il

microcontrollore da Arduino, connettere quest’ultimo al pc con un cavo USB ed

eseguire il programma “ESP FLASH DOWNLOAD TOOL” mostrato in figura 5.1-8.

Questa applicazione permette di caricare il nuovo firmware sull’ESP8266 e di

indicare gli indirizzi su cui verrà installato l’aggiornamento.

Inoltre è possibile selezionare la grandezza della memoria Flash ed altri parametri

come la velocità di scrittura e la COM a cui si è connessi tramite Arduino.

In Dolphin Sam sono stati usati moduli ESP8266 con memoria da 4Mbit.

La tabella 5.1-5 mostra gli indirizzi su cui caricare i file del nuovo firmware.

Bin Address

esp_init_data_default.bin 0x7C000

blank.bin 0x3E000

blank.bin 0x7E000

eagle.flash.bin 0x00000

eagle.irom0text.bin 0x40000

Tabella 5.1-5: Indirizzi su cui caricare il nuovo firmware dell’ESP8266

Page 86: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

68

Nella tabella e nell’immagine seguente viene mostrato come connettere il modulo

ESP8266 ad Arduino Uno per poter aggiornare il firmware.

Arduino uno Componente Pin

0 - RX ESP8266 RX

1 -TX ESP8266 TX

3.3 V ESP8266 CH_PD

3.3 V ESP8266 VCC

GND ESP8266 GPIO0

GND ESP8266 GND

Tabella 5.1-6: Aggiornamento firmware: Connessione ESP8266 - Arduino Uno

Fig. 5.1-9: Aggiornamento firmware: Connessione ESP8266 - Arduino Uno

RFID Reader - RFID-RC522

RFID (Radio-Frequency IDentification) è una tecnologia per l'identificazione e/o

memorizzazione automatica di informazioni. Questa tecnologia si basa sulla

capacità di memorizzazione di dati da parte di particolari etichette elettroniche

(chiamate Tag) e sulla capacità di queste di rispondere all'interrogazione a

distanza da parte di appositi apparati chiamati Reader. Questa identificazione

avviene mediante radiofrequenza grazie alla quale un Reader è in grado di

comunicare e/o aggiornare le informazioni contenute nei Tag che sta interrogando.

In un certo senso, i dispositivi RFID possono essere quindi assimilabili a sistemi di

lettura e/o scrittura senza fili.

Un sistema RFID è costituito da tre elementi fondamentali:

Reader: un apparecchio di lettura e/o scrittura. Uno o più etichette RFID (Tag). Sistema informativo di gestione per il trasferimento dei dati da e verso i lettori.

Page 87: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

69

L'etichetta RFID può essere passiva o attiva. L’etichetta passiva contiene

semplicemente un microchip (con un identificativo univoco ed eventuale

memoria) privo di alimentazione elettrica, un'antenna ed un materiale che fa da

supporto fisico chiamato "substrato". Il microchip viene letto/scritto al passaggio

di un lettore che emette un segnale a radiofrequenze basse o medie.

La radiofrequenza attiva il microchip e gli fornisce l'energia necessaria a

rispondere al lettore ritrasmettendogli un segnale contenente le informazioni

memorizzate nel chip.

L’etichetta attiva, invece, possiede un’alimentazione interna e ha una portata molto

maggiore rispetto all’etichetta passiva. Per il nostro uso si è deciso di usare Tag

puramente passivi visto il costo irrisorio del singolo Tag e data la facilità di lettura.

Fig. 5.1-10: Tag RFID

L'elemento principale che caratterizza un sistema RFID è il Tag costituito da:

Un Microchip che contiene dati in una memoria (tra cui un numero univoco universale scritto nel silicio).

Un’antenna. Un supporto fisico che tiene insieme il chip e l'antenna chiamato “substrato”. L'antenna riceve un segnale che tramite il principio dell’ induzione viene

trasformato in energia elettrica per l’alimentazione del microchip. Il chip così

attivato trasmette i dati contenuti tramite l'antenna all'apparato che riceve i dati.

In sintesi un Tag RFID è in grado di ricevere e di trasmettere via radiofrequenza le

informazioni contenute nel chip ad un Reader RFID.

Il microchip contenuto nel Tag (grande pochi millimetri) è la parte “intelligente”

del sistema. Il microchip è costituito da una memoria non volatile (tipicamente

EEPROM) e da un codice in genere univoco (UID) che viene trasmesso dall'antenna

all'apparato lettore per la lettura o l’aggiornamento dei dati ricevuti.

Il modello di RFID Reader utilizzato in Dolphin Sam è RFID-RC522.

Page 88: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

70

Fig. 5.1-11: RFID reader RC522.

Pin Nome Descrizione

1 SDA Connettere SDA a GND o 3.3V

per usare altri dispositivi SPI

2 SCK Clock

3 MOSI Comunicazione SPI – MOSI

4 MISO Comunicazione SPI – MISO

5 IRQ Interrupt

6 GND Ground

7 RST Reset

8 3.3V Alimentazione

Tabella 5.1-7: Pin RC522.

Arduino mega Componente Pin

48 RC-522 RST

49 RC-522 SDA

50 RC-522 MISO

51 RC-522 MOSI

52 RC-522 SCK

53 RC-522 IRQ (non usato)

GND RC-522 GND

3.3V RC-522 3.3V

Tabella 5.1-8: Connessioni RC522 Arduino Mega.

Alimentazione

Il Reader RC522 viene alimentato direttamente dalla presa 3.3V di Arduino in

quanto non richiede un valore particolarmente alto di corrente per funzionare.

Page 89: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

71

Sketch

Per comunicare con Arduino Mega, il Reader RC522 utilizza la comunicazione SPI.

Per questo motivo oltre ad importare la libreria “MFRC522.h” che gestisce il

funzionamento del Reader viene importata anche la libreria “SPI.h”.

In Dolphin Sam si è deciso di utilizzare i Tag in sola lettura e di leggere solo il

codice univoco UID per l’identificazione delle tessere.

Per leggere il codice UID delle tessere viene eseguito un ciclo che rimane in attesa

finché non viene posizionata una tessera sul Reader.

Una volta letto il codice viene eseguita la funzione ad esso associato.

Fig. 5.1-12: Sketch: Lettura UID tag.

Page 90: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

72

Sensore di movimento - MPU-6050-GY-521

In Dolphin Sam è stato utilizzato un sensore InvenSense MPU-6050-GY-521.

Questo sensore contiene, in un singolo integrato, un accelerometro MEMS a 3 assi

ed un giroscopio MEMS a 3 assi.

Un accelerometro è uno strumento di misura in grado di rilevare e/o misurare

l'accelerazione, effettuando il calcolo della forza rilevata rispetto alla massa

dell'oggetto (forza per unità di massa).

Con l’accelerometro si è in grado di misurare l’accelerazione di un corpo lungo una

direzione, con il giroscopio, invece, è possibile misurare l’accelerazione angolare di

un corpo su di un proprio asse.

Il sensore risulta molto preciso in quanto possiede un convertitore AD (analogico /

digitale) da 16 bit per ogni canale ed è per questo in grado di catturare i canali x, y

e z contemporaneamente. Il sensore possiede un protocollo di comunicazione

standard I²C, quindi è facile da interfacciare con Arduino.

Fig. 5.1-13: MPU-6050-GY-521

Pin Nome Descrizione

1 VCC Alimentazione 3.3V – 5V

2 GND Ground

3 SCL Comunicazione I2C - SCLA

4 SDA Comunicazione I2C – SDA

5 XDA Bus I2C ausiliario

6 XCL Bus I2C ausiliario

7 AD0 Connettere AD0 a GND o 3.3V per

usare altri dispositive I2C

8 INT Interrupt

Tabella 5.1-9: Pin MPU-6050-GY-521.

Page 91: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

73

Arduino mega Componente Pin

20 - SDA GY-521 SDA

21 - SCL GY-521 SCL

GND GY-521 GND

Tabella 5.1-10: Connessioni MPU-6050-GY-521 Arduino Mega.

Alimentazione

Per alimentare il sensore MPU-6050-GY-521 si utilizza l’alimentazione esterna

fornita dalla batteria.

Sketch

Il modulo MPU-6050-GY-521 comunica tramite Arduino con il metodo I²C.

Per questo motivo bisogna importare oltre alla libreria “MPU6050.h” anche la

libreria “Wire.h”.

In questo sketch viene mostrato come leggere i valori di pitch (beccheggio) e roll

(rollio). Il primo indica il grado di oscillazione sull’asse longitudinale, mentre il

secondo indica il grado di oscillazione sull’asse trasversale. Questi due valori

permettono di capire la posizione in cui si trova il delfino (pancia su, pancia giù,

inclinazione).

Fig. 5.1-14: Sketch: Lettura valori accelerometro.

Page 92: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

74

Striscia LED - Adafruit NeoPixel Digital RGB LED Strip

In questo progetto è stata utilizzata la striscia “Adafruit NeoPixel Digital RGB LED

Strip” che utilizza per il suo funzionamento l’integrato WS2812. Questo integrato

permette di controllare ogni singolo LED. La striscia NeoPixel ha 30 pixel LED

indirizzabili per metro.

Il consumo di questi LED è di circa 9.5W (circa 2 ampere ad una tensione di 5V)

per metro.

Questa potenza rappresenta il valore massimo quando tutti i pixel LED sono accesi

di pieno bianco. Solitamente la corrente utilizzata è circa la metà della corrente

massima.

Per ottenere un’elevata densità, il chip controllore (WS2812) si trova all'interno

del LED.

È possibile impostare il colore rosso, verde e blu (RGB) della componente di

ciascun LED, attraverso 8 bit di precisione. Per controllare la striscia si usano

segnali PWM ed è possibile utilizzare 24 bit per pixel.

I LED sono controllati da dei shift-register, incatenati tra loro per tutta la

lunghezza della striscia, così da poter tagliare in qualsiasi punto la striscia ed

utilizzare quanti LED si vogliono.

La striscia NeoPixel ha solamente 3 pin, due dei quali servono per l’alimentazione,

GND e +5V, mentre il terzo pin serve per il controllo di tutta la striscia tramite

segnali PWM.

Il pin di controllo viene collegato ad Arduino Mega nel pin 7 con una resistenza di

sicurezza da 470Ω, che tutela eventuali danneggiamenti del primo LED della

striscia.

La striscia viene alimentata esternamente a 5V.

Fig. 5.1-15: Striscia LED NeoPixel.

Page 93: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

75

Sketch

Per controllare la striscia LED è stata utilizzata la libreria “Adafruit_NeoPixel.h”.

Fig. 5.1-16: Sketch: Controllo striscia LED NeoPixel.

Motore DC - L293NE

Per controllare un motore DC con Arduino viene utilizzato un ponte H. Il ponte H è

un circuito elettrico che sfrutta 4 transistor per gestire in modo semplice la

rotazione del motore, in senso orario o antiorario.

Fig. 5.1-17 Funzionamento ponte H.

Il ponte H utilizzato in Dolphin Sam è l'L293NE. Esso è costituito da due "ponti",

uno sul lato sinistro del chip ed uno sul lato destro così da poter controllare fino a

2 motori, sfruttando al massimo 1 ampere di corrente. Questo ponte H può essere

utilizzato tra i 4.5V e i 36V.

Page 94: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

76

Fig. 5.1-18: L293NE.

Pin Nome Descrizione

1 1,2EN Attiva/disattiva il motore 1 a seconda che sia HIGH o LOW

2 1A Pin logico per il controllo del motore 1 (può essere HIGH o LOW)

3 1Y Pin a cui connettere un terminale del motore 1

4 GND Ground

5 GND Ground

6 2Y Pin a cui connettere un terminale del motore 1

7 2A Pin logico per il controllo del motore 1 (può essere HIGH o LOW)

8 VCC2 Alimentazione del motore

9 3,4EN Attiva/disattiva il motore 2 a seconda che sia HIGH o LOW

10 3A Pin logico per il controllo del motore 2 (può essere HIGH o LOW)

11 3Y Pin a cui connettere un terminale del motore 2

12 GND Ground

13 GND Ground

14 4Y Pin a cui connettere un terminale del motore 2

15 4A Pin logico per il controllo del motore 2 (può essere HIGH o LOW)

16 VCC1 Alimentazione dell’integrato. Va connesso a 5 V

Tabella 5.1-11: Pin L293NE.

Arduino mega Componente Pin

46 L293NE 1,2EN

44 L293NE 1A

42 L293NE 2A

GND L293NE GND

Tabella 5.1-12: Connessioni L293NE Arduino Mega

Alimentazione

Sia il motore DC che il ponte H sono alimentati a 5V dall’alimentazione esterna

fornita dalle batterie.

Page 95: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

77

Sketch

Per controllare il ponte H è sufficiente alimentare i pin EN, 1A e 2A, tramite i

comandi digitalWrite(), come mostrato in tabella dove la lettera H indica il livello

logico alto (High) e la lettera L il livello logico basso (Low).

EN 1A 2A Function

H L H Gira destra

H H L Gira sinistra

H L L Motor stop

H H H Motor stop

L L/H L/H Motor stop

Tabella 5.1-13: Controllo ponte H.

Il codice riportato mostra come azionare il motore DC posizionato nella bocca dello

smart object. Il motore viene azionato portando a livello logico alto il pin di

Arduino Mega connesso al pin Enable del ponte H.

Fig. 5.1-19: Sketch: Controllo motore DC

Page 96: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

78

Servomotore - 9g SG90

I servomotori sono piccoli motori in grado di far ruotare di un angolo compreso tra

0 e 180 gradi il perno, mantenendo la posizione raggiunta.

Per ottenere la rotazione del perno è utilizzato un motore a corrente continua e un

meccanismo di demoltiplica che consente di aumentare la coppia in fase di

rotazione. La rotazione del motore è gestita da un circuito di controllo interno, che

rileva, tramite un potenziometro resistivo, l'angolo di rotazione raggiunto dal

perno e blocca il motore sul punto desiderato.

Un servomotore dispone solitamente di soli tre fili, due per l’alimentazione e un

terzo per il controllo del posizionamento.

Il filo di controllo permette di applicare un segnale impulsivo o PWM (Pulse Wave

Modulation) con caratteristiche univoche per qualsiasi servomotore disponibile in

commercio.

All'interno del servo è presente un motore DC, una serie di ingranaggi che ne

riducono la velocità, un circuito di controllo e un potenziometro.

Il motore e il potenziometro sono collegati al circuito di controllo e l'insieme di

questi tre elementi definisce un sistema di feedback ad anello chiuso. Il circuito e il

motore vengono alimentati da una tensione continua stabilizzata, in genere di

valore compreso tra 4.8V e 6.0V.

È facile dedurre che i servomotori vengono progettati in genere per effettuare una

rotazione parziale piuttosto che per impostare un moto rotatorio continuo.

Modulazione PWM

La modulazione di larghezza di impulso è un tipo di modulazione digitale che

permette di ottenere una tensione media variabile dipendente dal rapporto tra la

durata dell'impulso positivo e di quello negativo (duty-cycle).

In un sistema di questo tipo, il servo risponde alla durata di un segnale definito

all'interno di un treno di impulsi a frequenza fissa, simile a quello rappresentato

nella figura 5.1-20. In particolare, il circuito di controllo risponde a un segnale

digitale i cui impulsi hanno una durata variabile da circa 1ms a circa 2ms. Questi

impulsi vengono trasmessi alla frequenza di 50 al secondo. La durata esatta di un

impulso, espressa in frazioni di millisecondo, stabilisce la posizione del servo.

Alla durata di 1ms, al servo viene comandato di ruotare completamente in una

direzione, per esempio in senso antiorario; a 2ms il servo ruota completamente

nella direzione opposta. Di conseguenza, con un impulso di 1.5ms, il servo viene

posizionato nella sua posizione centrale.

Page 97: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

79

Fig. 5.1-20: Posizione Servomotore

Arduino mega Componente Cavo

40 Servomotore Arancio/bianco

GND Servomotore Nero

Tabella 5.1-14: Connessione Servomotore Arduino Mega

Alimentazione

Il servomotore è alimentato a 5V dall’alimentazione esterna fornita dalle batterie.

Sketch

Per controllare la posizione del servomotore e quindi i segnali PWM si utilizza la

libreria “Servo.h”. Il codice seguente mostra come controllare il servomotore per

aprire e chiudere gli occhi di Dolphin Sam.

Page 98: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

80

Fig. 5.1-21: Sketch: Controllo Servomotore

Lettore MP3 - DFPlayer Mini

Il DFPlayer Mini è un modulo MP3 piccolo e a basso costo con un'uscita

semplificata direttamente sul diffusore.

Il modulo può essere utilizzato come modulo autonomo alimentato da una batteria

o in combinazione con Arduino sfruttando la comunicazione seriale.

Il DFPlayer supporta i formati audio più comuni come MP3, WAV e WMA ed è in

grado di leggere schede micro SD (TF) con FAT16 e FAT32.

È possibile caricare sulla microSD i file audio da riprodurre in una cartella

chiamata mp3. I nomi dei file audio devono iniziare con quattro cifre numeriche.

Agli ingressi “USB -“ e “USB +” è stata collegata una presa microUSB in modo da

facilitare l’upload dei file audio e la loro gestione da pc.

Tra il pin VCC e l’alimentazione è stato posizionato un diodo, in questo modo se

viene collegato il cavo microUSB si alimenta solamente il DFPlayer senza

alimentare tutto il circuito.

Nei pin SPK_1 e SPK_2 del lettore vengono connessi i due connettori della cassa

audio.

Tra i pin del lettore utilizzati per la comunicazione seriale e Arduino sono state

posizionate due resistenze da 1KΩ per evitare rumori.

Page 99: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

81

Fig. 5.1-22: DFPlayer Mini

Pin Nome Descrizione

1 VCC DC 3.2-5.0V

2 RX Serial input

3 TX Serial output

4 DAC_R Uscita cuffie o amplificatore

5 DAC_l Uscita cuffie o amplificatore

6 SPK_1 Uscita cassa audio fino a 3W

7 GND Ground

8 SPK_2 Uscita cassa audio fino a 3W

9 Busy Se è High il dfplayer è in uso altrimenti no

10 USB - Dati USB

11 USB + Dati USB

12 ADKEY_2

13 ADKEY_1

14 IO_2 Play, successivo alza volume

15 GND Ground

16 IO_1 Play – Precedente – Abbasso volume

Tabella 5.1-15: Pin DFPlayer Mini.

Arduino mega Componente Pin

14 TX3 DFPLAYER mini RX

15 TX3 DFPLAYER mini TX

GND DFPLAYER mini GND

Tabella 5.1-16: Connessioni DFPlayer Mini Arduino Mega.

Alimentazione

Il lettore DFPlayer Mini è alimentato a 5V dall’alimentazione esterna fornita dalle

batterie.

Page 100: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

82

Sketch

Il modulo MP3 viene controllato tramite comunicazione seriale.

Per il controllo è stata utilizzata la libreria “DFPlayer_Mini_Mp3.h”.

I comandi più usati in Dolphin Sam sono:

“mp3_play(xxxx)”: viene riprodotta la canzone che ha come prime quattro cifre

il numero xxxx.

“mp3_pause()”: viene messa in pausa la canzone che era in riproduzione.

“mp3_stop()”: viene interrotta la canzone che era in riproduzione.

Sensori Capacitivi

Le soluzioni meccaniche, benché collaudate e di uso comune, presentano delle

debolezze. Per definizione una soluzione meccanica avrà parti in movimento e

spazi d'aria, ciò rende inevitabile l'usura e il degrado del dispositivo. I pulsanti

meccanici sono soggetti quindi a numerosi agenti esterni in grado di rovinarli o

comprometterne il funzionamento.

Per questo motivo si è deciso di utilizzare in questo progetto solamente tasti

capacitivi, nascosti sotto la stoffa che ricopre il delfino.

I sensori capacitivi sono in grado di fornire una maggiore robustezza e affidabilità

rispetto ai classici pulsanti meccanici, così da migliorare l'esperienza dell'utente.

Questa tecnologia aumenta il confort e l'affidabilità del dispositivo e anche

l'immagine del prodotto ne trae beneficio.

I sensori capacitivi si basano sul principio della rilevazione della capacità elettrica

di un condensatore: essi dispongono, infatti, di un lato sensibile che costituisce la

prima armatura del condensatore, mentre l’eventuale presenza nelle vicinanze di

un oggetto conduttore rappresenta l’altra armatura. Quando un oggetto conduttore

si trova nelle vicinanze del condensatore si crea una capacità che i circuiti interni

rilevano, comandando la commutazione del segnale d’uscita.

I vantaggi principale nell’uso dei sensori capacitivi sono:

portate nominali elevate (fino a 20mm);

possibilità di rilevare oggetti non ferromagnetici, purché almeno parzialmente

conduttivi;

immunità a disturbi elettromagnetici.

Page 101: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

83

Fig. 5.1-23: Tasto capacitivo.

I tasti capacitivi utilizzati in Dolphin Sam sono stati costruiti utilizzando un

quadrato di plastica ricoperto da un foglio di alluminio a cui è stato collegato un

cavo che si connette al circuito principale.

Come mostrato in figura 5.1-24, i tasti capacitivi vengono collegati direttamente ai

pin di Arduino. Tutti i sensori sono, inoltre, collegati tramite una resistenza di

10MΩ ad un pin comune. Più le resistenze sono grandi e più i sensori saranno

sensibili.

Fig. 5.1-24: Circuito tasti capacitivi

Arduino mega Componente

8 Sensore Capacitivo 1

9 Sensore Capacitivo 4

10 Pin comune

11 Sensore Capacitivo 3

12 Sensore Capacitivo 2

Tabella 5.1-17: Connessioni Sensori capacitivi Arduino Mega

Page 102: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

84

Sketch

I sensori capacitivi sfruttano la libreria “CapacitiveSensor.h”. Il codice riportato

mostra come riconoscere la pressione dei tasti presenti nel delfino.

Fig. 5.1-25: Sketch: Controllo Sensori capacitivi

Page 103: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

85

5.2 Alimentazione Dolphin Sam

In questa sezione viene mostrato il circuito di alimentazione e di ricarica di

Dolphin Sam, descrivendo il primo prototipo e tutti i passaggi che hanno portato

alla realizzazione definitiva.

Prototipo

Per alimentare l’intero sistema è stata utilizzata una batteria LiPo con una capacità

di 3000mAh, una tensione pari a 3.7V e un fattore di scarica di 20C. Questo

significa che la batteria può fornire una corrente in uscita massima pari a 60A

(3000mA * 20). La batteria utilizzata è di tipo ricaricabile, nota come accumulatore

ai polimeri di litio (abbreviato Li-Poly o più frequentemente LiPo), e rappresenta

uno sviluppo tecnologico rispetto all’accumulatore agli ioni di litio.

La principale differenza tra questi due tipi di accumulatori è che in quello a ioni di

litio, l'elettrolita è contenuto in un solvente organico mentre nelle batterie ai

polimeri di litio l'elettrolita si trova in un composto di polimero solido.

Gli accumulatori ai polimeri di litio presentano numerosi vantaggi rispetto all’altra

tipologia di batteria. Per prima cosa sono meno pericolosi in caso di

danneggiamento in quanto il polimero solido, a differenza del solvente organico,

non è infiammabile, inoltre le batterie ai polimeri hanno un peso molto inferiore e

una forma adattabile in base alle esigenze, cosicché la batteria può essere inserita

anche in spazi ristretti.

Dal momento che Arduino Mega, così come altri dispositivi utilizzati in Dolphin

Sam, necessita di un’alimentazione minima di 5V è necessario utilizzare uno step-

up in grado di portare la tensione dai 3.7V forniti dalla batteria a 5V.

Per ricaricare la batteria si utilizza un USB LiPoly Charger PRT-12711.

L’USB LiPoly Charger permette di caricare le batterie LiPo a singola cella (3.7V)

sfruttando due valori di corrente selezionabili grazie ad un jumper. Data la

grandezza della batteria (3000mA) si è deciso di utilizzare il valore di corrente più

alto possibile, pari a 500mA. In questo modo il tempo di ricarica della batteria è di

circa 6 ore. Il circuito è stato inoltre strutturato in modo che sia possibile fornire

l'alimentazione all'intero sistema e ricaricare la batteria senza che questa venga

scollegata.

Poiché lo step-up consuma la batteria anche quando non è connesso nessun

dispositivo in uscita, si è deciso di posizionare un interruttore che permetta di

staccare fisicamente lo step-up dalla batteria.

Per facilitare e velocizzare l'operazione di ricarica sono presenti due tipi di

connettori: un connettore miniUsb e un jack. A differenza dello step-up, il LiPoly

Charger non causa nessun scaricamento indesiderato della batteria.

Page 104: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

86

Fig. 5.2-1: Prototipo alimentazione Dolphin Sam

Il modello di step-up utilizzato è l’MT3608, che grazie ad una regolazione del

potenziometro, è in grado di alzare la tensione d’ingresso della batteria dai 3.7V ai

5V desiderati.

La corrente teorica massima erogabile da questo dispositivo è di 2A, ma

connettendo una batteria LiPo all’ingresso dello step-up, la corrente in uscita reale

massima misurata risulta essere di soli 900mA, decisamente non sufficiente ad

alimentare tutti i componenti presenti in Dolphin Sam.

Per risolvere questa limitazione si è cercato di aumentare la corrente in uscita

utilizzando diversi step-up connessi in parallelo. Questo comporta una tensione in

uscita costante impostata a 5V e garantisce una corrente totale maggiore data dalla

somma di tutte le correnti uscenti dai singoli step-up.

Una batteria LiPo a singola cella non è risultata sufficiente ad alimentare l’intero

sistema in una configurazione di questo tipo.

Per questo la soluzione dell’USB LiPoly Charger con stepUp è stata abbandonata.

Studio dei consumi

Con l’utilizzo di un alimentatore di tensione da banco (con tensione fissata a 5V) ed

un multimetro si sono calcolati i valori minimi di corrente richiesti da ogni singolo

dispositivo utilizzato in Dolphin Sam.

I valori di tutte le correnti misurate sono riportati in tabella 5.2-1.

La striscia led da datasheet consuma 60mA per LED, quindi la striscia utilizzata in

Dolphin Sam, che conta 38 LED, consuma complessivamente 2280mA (60mA*38),

cioè più di 2A. Questo accade nel caso pessimo, quando tutti i led sono accessi di

bianco pieno.

Page 105: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

87

Dispositivo Corrente consumata

Striscia LED 2.3 A

Motore DC 0.6 A

Servomotore 0.25 A

Arduino 0.2 A

DFPlayer Mini 0.25 A

TOT 3.6 A

Tabella 5.2-1: Consumi Dolphin Sam

Soluzione

Il consumo di corrente nel caso pessimo, ossia quando tutti i dispositivi sono attivi,

è di circa 3.6A. Si è deciso quindi di utilizzare più batterie in parallelo così da

aumentare la corrente in uscita mantenendo costante la tensione.

La soluzione adottata è quella di una power-bank agli ioni di litio. Questo tipo di

batteria, come descritto precedentemente, è potenzialmente più pericolosa ma nel

nostro caso non vi è nessun rischio di danneggiare le singole stilo della batteria per

la presenza di un circuito di controllo che permette di effettuare anche la carica

della stessa. Il modello di power-bank utilizzato è un Mi Power Bank della Xiaomi

da 10400mAh. Questo tipo di power-bank contiene al suo interno quattro batterie

stilo ricaricabili collegate in parallelo.

Per garantire un corretto funzionamento e una ricarica ottimale, le batterie stilo

vengono connesse al circuito di controllo della power-bank, posizionato nella

pancia del delfino così da essere raggiungibile anche dall’esterno.

Ricarica Dolphin Sam

Per la ricarica di Dolphin Sam, oltre a sfruttare la porta micro USB, è possibile

utilizzare una base di ricarica wireless.

La ricarica wireless usa un doppio sistema di risonanza induttivo per trasmettere

segnali a bassa potenza tra due dispositivi. La base ha un trasmettitore e lo smart

object un ricevitore. La base invia regolarmente un segnale di controllo e quando

trova una variazione nella risonanza o nella capacità, segno che un ricevitore è

presente, il segnale stesso viene modulato e si avvia la ricarica induttiva.

La ricarica induttiva utilizza due avvolgimenti elettromagnetici per creare un

campo magnetico tra i due dispositivi, vale a dire la base di ricarica e il delfino.

Page 106: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

88

La corrente massima assorbibile con questo metodo di ricarica è di 500mAh,

mentre utilizzando la presa micro USB è possibile utilizzare alimentatori che

erogano 2Ah. La prima soluzione risulta quindi più lenta della seconda.

Fig. 5.2-2: Circuito di alimentazione/ricarica

Page 107: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

89

5.3 Progettazione Hardware

In questa sezione viene mostrata la realizzazione del circuito utilizzato in Dolphin

Sam, mostrando i passaggi per la realizzazione del prototipo fino ad ottenere il

circuito definitivo.

Circuito prototipo

Una volta testati tutti i singoli componenti con i loro rispettivi sketch si è passati

alla creazione del primo prototipo del circuito. Per realizzarlo è stata utilizzata una

basetta millefori della medesima dimensione di Arduino Mega in modo da creare

uno schield che si adattasse perfettamente ad esso. Tutti i collegamenti sono stati

effettuati per mezzo di cavetti saldati tra loro nella parte inferiore della basetta

come mostrato in figura 5.3-2.

Fig. 5.3-1: Progettazione prototipo del circuito.

Page 108: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

90

Fig. 5.3-2: Realizzazione prototipo del circuito.

Fig. 5.3-3: Visuale interna del prototipo.

Page 109: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

91

Circuito definitivo

Una volta effettuate tutte le prove con il prototipo è stato possibile progettare e

disegnare tramite l’applicazione Fritzing il circuito definitivo ed effettuare la

stampa su una basetta ramata.

Fig. 5.3-4: Disegno del circuito con piste, componenti e connessioni.

Fig. 5.3-5: Disegno del circuito con componenti e connessioni.

Il Circuito Stampato, anche conosciuto come PCB (Printed Circuit Board), è un

supporto utilizzato per interconnettere tra loro i vari componenti elettronici di un

circuito tramite piste conduttive incise su di un materiale non conduttivo.

Generalmente il materiale utilizzato come supporto è una piastra di fibra di vetro

ricoperta da un sottile strato metallico. Tale strato viene successivamente

intagliato con la tecnica della Fotoincisione (tramite l'azione di luce e acidi) o con

quella della Fresatura meccanica (tramite fresa CNC).

Page 110: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

92

In questo progetto è stata utilizzata la tecnica della fotoincisione utilizzando delle

basette presensibilizzate, ossia ricoperta da uno strato di fotoresist. Questo

materiale ha la proprietà di poter essere rimosso facilmente mediante soda

caustica nel caso venga impressionato dai raggi UV-A, mentre risulta essere molto

resistente alla corrosione da parte del cloruro ferrico se non impressionato.

Per ricavare dalla superficie in rame la rete di collegamenti necessari si esegue

l'asportazione chimica selettiva del rame in eccesso.

Questo avviene mediante tre passaggi:

esposizione fotografica,;

sviluppo;

attacco acido.

Esposizione fotografica

In questa fase, l’immagine del circuito viene stampata su un foglio lucido (master)

e posizionata sulla basetta presensibilizzata dalla parte del fotoresit. Per

imprimere l’immagine del circuito sulla basetta la si inserisce (mantenendo in

posizione il lucido) in un bromografo per circa 4 minuti.

Fig. 5.3-6: Disegno di stampa del circuito.

Il bromografo è una scatola con coperchio al cui interno sono installate 2 lampade

che emettono raggi UV-A, necessarie per impressionare le basette

presensibilizzate.

Il bromografo sfrutta la luce ultravioletta (UV-A) per solidificare il fotoresist (un

composto chimico che ricopre l’intera basetta) nelle parti dove le piste del master

(foglio lucido con stampato il circuito) non sono presenti, ovvero dove tra basetta e

lampade non ci sia nulla che impedisca il passaggio della luce ultravioletta.

Page 111: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

93

L’immagine 5.3-7 spiega il funzionamento dell’incisione attraverso esposizione

fotografica. La fonte luminosa è diretta dal master verso il lato rame della basetta

presensibilizzata.

Fig. 5.3-7: Stampa circuito.

Quando viene esposta, la basetta mantiene sulla sua superficie le piste stampate

sul master mentre nella parte in cui sul master non ci sono piste il fotoresist

solidifica.

Sviluppo

Terminata la fase di fissaggio si passa alla rimozione del fotoresist esposto alla luce

UV-A. In questa fase si immerge la basetta in una soluzione di Soda Caustica con

quattro parti di acqua e la si lascia in ammollo per circa un minuto. A questo punto

risciacquando la basetta con dell’acqua si può già intravedere l’immagine del

circuito stampato sulla basetta.

Attacca acido

Per l’esportazione del rame si immerge la basetta nel Cloruro ferrico per circa 45

minuti. Una volta rimosso tutto il rame in eccesso si risciacqua la basetta con

dell’acqua e la si pulisce con dell’acetone per eliminare il fotoresist rimasto.

A questo punto si praticano i fori nella basetta con un trapano a colonna.

Nell’immagine 5.3-8 vengono mostrate le fasi di realizzazione del circuito:

sviluppo, risciacquo e attacco acido.

Page 112: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

94

Fig. 5.3-8: Sviluppo, risciacquo e attacco acido.

Fig. 5.3-9: Circuito stampato.

Page 113: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

95

Circuito Definitivo con componenti

Una volta ottenuta la stampa del circuito e praticato i fori necessari si passa alla

fase di saldatura. In questa fase è necessario posizionare tutti i componenti nei fori

praticati precedentemente e tramite un saldatore a stagno fissarli sulla scheda.

Fig. 5.3-10: Circuito definitivo con componenti.

Fig. 5.3-11: Circuito definitivo visto da sotto.

Page 114: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

96

Fig. 5.3-12: Circuito realizzato con Fritzing

Page 115: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

97

5.4 Realizzazione fisica di Dolphin Sam

In questa sezione viene descritta la realizzazione fisica di Dolphin Sam, mostrando

il posizionamento dei sensori e degli attuatori utilizzati.

Scocca esterna

Il telaio contenente il circuito, alcuni sensori e attuatori, gli occhi e la bocca del

delfino è stato realizzato modificando la scocca di un giocattolo presente in

commercio, “Blu Blu The Baby Dolphin”. Il telaio originale è stato tagliato e

adattato in modo da poter contenere al suo interno la scheda Arduino Mega con il

circuito descritto nel paragrafo precedente. La figura 5.4-1 mostra la sezione

destra della scocca con le modifiche apportate al telaio originale e la disposizione

di alcuni componenti.

Fig. 5.4-1: Sezione destra della scocca di Dolphin Sam

Per il fissaggio di Arduino sono state inserite delle viti. Dopo la chiusura, il telaio si

presenta come in figura 5.4-2. Dall'immagine si può notare anche il

posizionamento del pacco batterie e della cassa Bluetooth ed è possibile osservare

i connettori con cui vengono collegati i tasti capacitivi.

Page 116: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

98

Fig. 5.4-2: Scocca completa di Dolphin Sam

In fase di progettazione si è prestata particolare attenzione affinché tutti i

dispositivi e le componenti necessarie per il corretto funzionamento di Dolphin

Sam costituissero un unico blocco. In questo modo è stato possibile realizzare due

delfini interattivi di formati differenti senza alcuna modifica della struttura

hardware. Inoltre, posizionando il corpo in un qualsiasi peluche, è possibile

trasformare un semplice giocattolo inanimato in uno smart-object.

Posizionamento sensori e attuatori

Questo paragrafo mostra il posizionamento dei sensori e degli attuatori all’interno

di Dolphin Sam.

Fig. 5.4-3: Dolphin Sam

Page 117: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

99

Come descritto nei paragrafi precedenti, sia il motore DC che il servomotore sono

stati posizionati all’interno della scocca assieme a Arduino Mega e al circuito. Il

modulo WiFi, l’accelerometro e il DFPlayer Mini sono stati posizionati in appositi

alloggi sopra al circuito. I quattro tasti capacitivi, così come la striscia LED, sono

stati cuciti sotto la copertura di Dolphin Sam e connessi alla scocca tramite dei

connettori. Anche la piastra di ricarica wireless è stata cucita sulla pancia del

delfino così da poter ricaricare le batterie semplicemente appoggiando Dolphin

Sam alla base di ricarica. Il lettore di tessere RFID è stato, invece, posizionato

all'interno della bocca del delfino ed è connesso direttamente al telaio.

Pannello

Per accendere, spegnere e scegliere la modalità d’uso di Dolphin Sam si utilizza un

interruttore posizionato sul pannello inferiore del telaio. Per raggiungere questo

pannello è necessario aprire lo strappo in velcro posizionato sulla pancia del

delfino.

Fig. 5.4-4: Pannello di controllo di Dolphin Sam.

1) AUTO/OFF/MAN Modality: questo interruttore a tre vie permette di spegnere o

accendere lo smart object e di selezionare il tipo di modalità di utilizzo. Se

l’interruttore viene spostato a sinistra (AUTO), il delfino entra in modalità

autonoma mentre se si posizione a destra (MAN) è possibile gestire il delfino in

modalità integrata.

2) Bluetooth ON/OFF (BT): questo interruttore permette di accendere o spegnere

la cassa bluetooth.

Page 118: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

5 Implementazione Hardware

100

3) USB Charging Port (PWR): questa presa micro-USB permette di caricare

Dolphin Sam sfruttando un qualsiasi alimentatore USB.

4) Battery level Light Indicator: questi quattro LED indicano il livello di carica

delle batterie. Se tutti i LED risultano accesi significa che il livello di carica è

massimo.

5) Button Light Indicator: questo pulsante permette di accendere i LED che

indicano il livello di carica.

6) USB Port to load sounds in the dolphin: questa porta micro-USB permette di

connettere lo smart object a un pc e di caricare le canzoni in formato mp3.

Nell’immagine si può notare la scocca di Dolphin Sam con il pannello chiuso, la

scocca con il pannello aperto e il retro del pannello di chiusura con circuito di

ricarica, interruttori e connettori.

Fig. 5.4-5: Dettaglio del pannello di controllo di Dolphin Sam.

Page 119: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

101

6 Implementazione Software

Dolphin Sam è un sistema complesso che comprende diversi dispositivi connessi

tra loro. A livello software occorre quindi sviluppare del codice in grado di

comandare tutti questi elementi mettendoli in comunicazione tra loro.

Oltre a questo è necessario creare delle regole comuni per la logica delle attività e

avere una base su cui raccogliere le informazioni utili a Dolphin Sam.

In questa sezione viene mostrata l’architettura relativa al codice presente su

Arduino e quella relativa alla web application.

6.1 Arduino

In questo paragrafo viene analizzato il codice Arduino nel suo complesso,

concentrandosi maggiormente su come i vari dispositivi presenti all’interno dello

smart object riescano a dialogare tra loro.

Il codice è diviso in cinque macro parti:

Definizione costanti, variabili globali e dichiarazione oggetti;

Setup scheda Arduino;

Modalità autonoma;

Modalità integrata;

Implementazione funzioni e procedure utilizzate nel tipo di modalità

selezionata.

Page 120: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

102

Fig. 6.1-1Esecuzione del programma su Arduino.

Costanti, variabili globali e oggetti

Nella prima parte del codice, vengono importate le librerie utilizzate (presentate

nel capitolo 5) e si definiscono le costanti e le variabili globali.

Nelle immagini seguenti vengono mostrati gli oggetti istanziati, uno per ogni

sensore, i pin di Arduino utilizzati e alcune variabili globali.

Fig. 6.1-2: Sketch: Dichiarazione oggetti.

Page 121: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

103

Fig. 6.1-3: Sketch: Dichiarazione costanti.

Fig. 6.1-4: Sketch: Dichiarazione variabili globali.

Page 122: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

104

Setup

Nella fase di setup vengono definiti i pin di ingresso e di uscita di Arduino utilizzati

per connettere i dispositivi e vengono posizionati tutti gli attuatori nella posizione

iniziale. Inoltre viene letta la posizione dell’interruttore che indica la modalità di

utilizzo di Dolphin Sam. Viene utilizzata una variabile globale chiamata

“valStandAlone” per salvare lo stato della modalità selezionata.

Se la modalità selezionata è “integrata” si verifica se l’ultima rete WiFi a cui è stato

connesso il delfino è ancora disponibile, in tal caso lo smart object si connette

automaticamente alla rete. In caso contrario il delfino crea una rete WiFi a cui è

possibile connettersi per lo scambio di informazioni relative alla nuova rete WiFi

disponibile. A questo punto viene creato un server TCP/IP in grado di gestire le

chiamate HTTP.

Fig. 6.1-5: Sketch: Setup.

Modalità Autonoma

Terminata la fase di setup e verificato tramite la variabile globale “valStandAlone”

che il delfino è in modalità autonoma, esso è pronto per essere utilizzato per le

attività disponibili.

In questa fase lo smart object verifica se qualche tasto è stato premuto oppure se è

stata inserita una tessera nella bocca e in caso affermativo svolge l’azione

preimpostata.

Page 123: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

105

Modalità Integrata

Terminata la fase di setup e verificato tramite la variabile globale “valStandAlone”

che il delfino è in modalità integrata, esso è pronto per essere utilizzato per le

attività disponibili.

Lo smart object rimane in attesa di ricevere le chiamate HTTP che permettono di

eseguire le azioni preimpostate, specificate nelle ECA Rules (vedi paragrafo 6.2.3).

Il delfino verifica se un tasto è stato premuto, se è stata inserita una tessera nella

bocca oppure se è stato mosso. In caso positivo viene aggiornata una variabile

globale, restituita alla web application quando viene richiesta con il comando

“getVar”.

Procedure e funzioni

In questa parte vengono descritte tutte le procedure e le funzioni disponibili per la

gestione ed il corretto funzionamento di Doplhin Sam.

Ogni procedura viene chiamata in base al tipo di comando letto, che può essere una

chiamata HTTP oppure la lettura di un sensore.

Alcuni esempi di procedure sono: muovi bocca, muovi occhi, riproduci effetti

luminosi, riproduci audio, ecc..

Nell’immagine seguente vengono mostrate alcune azioni che possono essere

compiute da Dolphin Sam.

Fig. 6.1-6: Sketch: Procedure e funzioni.

Page 124: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

106

6.2 Web Application

Struttura della Web Application

La modalità integrata di Dolphin Sam prevede l’utilizzo del delfino assieme ad una

applicazione web, il tutto immerso all’interno di uno smart space. Una web

application è un'applicazione accessibile via web per mezzo di una rete Internet in

una architettura tipica di tipo client-server. Non è quindi necessario installare

nessuna applicazione sul dispositivo.

Normalmente un’applicazione web si sviluppa su tre livelli:

1. Livello di presentazione: rappresenta l’interfaccia utente dell’applicazione e si

occupa di acquisire dati e visualizzare risultati.

2. Livello intermedio: si occupa dell’elaborazione dei dati in base alla business

logic dell’applicazione. Le elaborazioni del livello intermedio generano i

risultati richiesti dall’utente;

3. Livello dati: rappresenta l’insieme dei servizi offerti da applicazioni

indipendenti dal Web, nel nostro caso da un gestore di database per la

memorizzazione e l’interrogazione di informazioni riguardanti l’applicazione.

All’interno della web application sono quindi implementati tutti i moduli illustrati

all’interno dello UX Design (capitolo 4).

Pagine Web

Il livello di presentazione è costituito da pagine web scritte in HTML (HyperText

Markup Language) e fogli di stile CSS (Cascading Style Sheets) per la gestione della

grafica. Le pagine HTML permettono la formattazione e l’impaginazione di

informazioni e di documenti ipertestuali disponibili nel World Wide Web sotto

forma di pagine web.

Una pagina HTML è costituita da una sezione di intestazione (header) che contiene

informazioni di controllo normalmente non visualizzate dal browser e da una

sezione di corpo della pagina (body) che contiene le informazioni, le immagini e i

collegamenti che costituiscono la parte visualizzata dal browser.

La web application di Dolphin Sam è pensata per poter essere utilizzata su

dispositivi differenti che presentano quindi schermi di diversa grandezza e

risoluzione. L’applicazione è stata dunque sviluppata seguendo il Design

Responsive che definisce la realizzazione di siti in grado di adattarsi graficamente

al dispositivo coi quali vengono visualizzati (computer con diverse risoluzioni,

Page 125: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

107

tablet, smartphone, cellulari, web tv). Il Design Responsive è un importante

elemento dell'accessibilità e garantisce all’utente la possibilità di utilizzare

l’applicazione nel modo migliore. Per lo sviluppo del template è stato utilizzato

Bootstrap, una raccolta di strumenti per la creazione di siti e applicazioni per il

Web che contiene modelli di progettazione basati su HTML e CSS. Nello specifico la

versione 2.0 di Bootstrap supporta il design responsivo andando a dividere la

pagina in una griglia formata da dodici colonne. È possibile impostare la grandezza

(numero di colonne) di un elemento del DOM (Document Object Model) a seconda

dei vari dispositivi.

I device gestiti sono divisi per classi e sono i seguenti:

xs per i telefoni

sm per i tablet;

md per desktop;

lg per desktop di grandi dimensioni.

Esempio di utilizzo di Bootstrap all’interno della nostra applicazione in cui viene

ridimensionato un tasto.

Fig. 6.2-1: Codice: Utilizzo di Bootstrap.

Nel livello intermedio, la gestione della business logic è stata sviluppata mediante

pagine JavaScript e PHP. Le pagine JavaScript sono state sviluppate mediante

l’utilizzo di jQuery, una libreria per applicazioni Web nata con l'obiettivo di

semplificare la selezione, la manipolazione, la gestione degli eventi e l'animazione

di elementi DOM in pagine HTML, nonché implementare funzionalità AJAX. Nello

specifico il codice JavaScript gestisce la grafica delle pagine, la logica

dell’applicazione e la comunicazione tra essa e gli elementi del sistema mentre le

pagine PHP si occupano dell’interazione con il database e del salvataggio dello

stato dell’applicazione.

All’interno delle pagine JavaScript vengono gestiti gli eventi di click sui vari

pulsanti e la modifica della grafica delle pagine. Attraverso i selezionatori di jQuery

vengono catturati gli eventi e vengono facilmente letti i contenuti dei vari elementi

Page 126: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

108

della pagina. Tutte le pagine JavaScript dell’applicazione si trovano all’interno della

cartella dolphinsam.com/api/js.

Nell’esempio seguente viene catturato l’evento di click del mouse sull’elemento

della pagina con id edit_activity. Una volta catturato l’evento viene letto l’id

dell’attività, si effettuano dei controlli e viene modificato lo stile dell’elemento

activity_deleted oppure si viene reindirizzati alla pagina di modifica dell’attività.

Fig. 6.2-2: Codice: Gestione della web application mediante script jQuery.

Gestione dello stato della Web Application

La web application deve conoscere in ogni momento il proprio stato, occorre

quindi tenere in memoria alcune informazioni essenziali dell’applicazione.

Questi dati vengono memorizzati all’interno della sessione PHP in modo da essere

immediatamente accessibili ed utilizzabili. Il protocollo HTTP che sovrintende

tutte le connessioni web è stateless, cioè non è in grado di tenere traccia di

eventuali scelte o particolari dati trasmessi tra client e server, per questa ragione

in PHP è stato implementato un meccanismo di gestione delle sessioni, dove per

“sessione” si intendono tutte le interazioni avvenute tra browser e server fino alla

chiusura del browser stesso.

Le informazioni che l’applicazione salva all’interno della sessione sono l’id

dell’utente, la sua anagrafica, l’id del centro terapeutico a cui è legato, l’indirizzo ip

della Smart Plug e l’id del delfino utilizzato. Le informazioni sull’utente e sul centro

terapeutico vengono inserite nella sessione nel momento in cui si effettua la login.

Questi dati sono spesso richiesti da parte delle pagine quindi vengono salvati nella

Page 127: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

109

sessione per evitare interrogazioni troppo frequenti al database. L’id del delfino

viene, invece, memorizzato in sessione quando esso è selezionato nell’apposito

pannello. Le pagine PHP vengono invocate all’interno del codice JavaScript

mediante chiamate HTTP in cui vengono passati i dati richiesti. All’interno della

pagina PHP viene effettuato l’accesso alla sessione, dopodiché vengono inserite al

suo interno le informazioni.

La figura 6.2-3 mostra come avviene la lettura delle informazioni dalla HTTP

Request.

Fig. 6.2-3: Codice: Recupero dati inviati all’interno della HTTP Request.

La figura 6.2-4 mostra come avviene l’accesso alla sessione e l’inserimento al suo

interno di alcune informazioni.

Fig. 6.2-4: Codice: Inizializzazione della sessione.

La figura 6.2-5 mostra la lettura di alcune delle informazioni memorizzate

all’interno della sessione.

Page 128: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

110

Fig. 6.2-5: Codice: Recupero informazioni dalla sessione.

Database

Tutta l’architettura di Dolphin Sam utilizza una base di dati per la memorizzazione

di tutte le informazioni legate al sistema.

Un database è un archivio di dati strutturato in modo da razionalizzare la gestione

e l'aggiornamento delle informazioni e in modo da permettere lo svolgimento di

ricerche complesse. La nostra base di dati è definita come relazionale poiché le

informazioni sono organizzate in tabelle interrelate che permettono ricerche e

aggiornamenti incrociati. Una base di dati è organizzata mediante tre modelli:

1. Modello Concettuale dei dati: descrive formalmente la struttura del sistema.

Questo modello è rappresentato mediante il Diagramma ER che contiene lo

schema delle varie entità del database, dei loro attributi, delle associazioni, con

specifica delle cardinalità.

2. Modello Logico: traduce lo schema ER nel modello adottato dal DBMS

(Database Management System) che si sta utilizzando. Come già detto il nostro

modello logico utilizza le tabelle come relazioni.

3. Modello Fisico: organizza i file secondo il modello logico.

Nel nostro modello logico relazionale le tabelle rappresentano le entità e le

relazioni dello schema concettuale. Ogni tabella è composta da record e da campi,

cioè istanze (tuple) e attributi delle entità/relazione. I record sono le righe della

tabella mentre i campi sono le colonne. Per ogni campo viene individuato un

dominio (tipo di dati) che può essere alfanumerico, numerico, data, booleano, etc..

Page 129: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

111

Ogni tabella deve possedere un campo che identifichi univocamente i record

all’interno della relazione, la chiave primaria. Questa permette di identificare ogni

singolo record e di mettere in relazione tra loro le varie entità della base di dati.

Per consentire la creazione vera e propria delle tabelle, la loro manipolazione e la

loro interrogazione vengono utilizzati i cosiddetti DBMS. Un DBMS gestisce le

autorizzazioni per l’accesso alla base di dati e ai suoi possibili sottoschemi e

fornisce inoltre gli strumenti per garantire l’integrità dei dati presenti al suo

interno.

Il database di Dolphin Sam si trova sullo stesso server in cui è presente la web

application nel nostro caso il web hosting utilizzato è Site5. Il DBMS fornito da

Site5 è MySQL, un software libero per la gestione di database relazionali che

supporta numerosi linguaggi di programmazione. Per l’amministrazione della base

di dati il web hosting mette invece a disposizione phpMyAdmin, un’applicazione

scritta in PHP che consente di gestire un database MySQL tramite un qualsiasi

browser.

Il database di Dolphin Sam si occupa della gestione delle informazioni relative agli

utenti dell’applicazione, alla connessione delle varie componenti alla struttura del

sistema e ad alcuni aspetti delle reazioni del delfino. Tutte le informazioni relative

alle attività invece sono strutturate mediante ECA Rules e sono gestite attraverso

file JSON e file XML memorizzati direttamente sul server.

L’XML (eXtensible Markup Language) è un metalinguaggio per la definizione di

markup utilizzato per descrivere documenti strutturati.

Page 130: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

112

Fig. 6.2-6: Schema ER del database.

Page 131: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

113

La tabella User contiene le informazioni relative agli utenti della web application.

Al suo interno sono contenute informazioni riguardanti la connessione al sito (mail

e password) e altre informazioni di anagrafica. Oltre a queste è presente un campo

che indica il centro terapeutico a cui fa riferimento quello specifico utente creando

una relazione 1-N con la tabella TherapeuticCenter.

La tabella TherapeuticCenter contiene informazioni riguardanti i vari centri

terapeutici che utilizzano Dolphin Sam e un campo contenente l’indirizzo ip della

Smart Plug a cui connettere i dispositivi dello smart space.

La tabella Tag contiene invece le informazioni relative alle tessere RFID utilizzate.

Esse sono specifiche per ogni centro terapeutico quindi si ha un campo che indica,

per ognuna di esse, a quale centro è associata andando a creare una relazione 1-N

con la tabella TherapeuticCenter.

La tabella Dolphin contiene le informazioni relative al delfino cioè l’id, l’indirizzo ip

e il momento in cui è stata effettuata l’ultima connessione. Ogni volta che il delfino

viene connesso alla rete gli ultimi due campi vengono aggiornati.

Le tabelle Dolphin e User sono collegate tra loro dalla tabella DolphinUser

formando una relazione N-N che serve per memorizzare quali delfini sono

associati ad ogni utente e viceversa. È previsto infatti che un terapista utilizzi più

delfini e che un certo delfino sia utilizzato da più terapisti.

Oltre a queste tabelle il database presenta delle entità che memorizzano alcune

informazioni riguardanti le possibili reazioni del delfino.

La tabella SoundDolphin contiene l’elenco dei file audio memorizzati sul delfino.

L’entità contiene quindi l’id della canzone, il suo titolo, l’url del file audio sulla

scheda SD e l’id del delfino su cui è salvato il file. La relazione tra la tabella

SoundDolphin e la tabella Dolphin è una relazione 1-N.

All’interno dell’entità DolphinEffects sono contenuti gli effetti di luce riproducibili

dal delfino. I campi di questa tabella sono id, nome e label con cui l’effetto è

riconosciuto all’interno del sistema e il tempo necessario allo smart object per

completare l’esecuzione del gioco di luci. Anche in questo caso è presente un

campo per identificare l’id del delfino a cui quell’effetto è legato andando a creare

una relazione 1-N tra la tabella e Dolphin.

La tabella DolphinEmotion contiene infine tutte le emozioni riproducibili dal

delfino. I campi della entità sono l’id dell’emozione, la label utilizzata per

identificarla, il tempo necessario allo smart object per riprodurla e l’id del delfino a

cui quell’emozione è legata. Anche in questo caso quindi si forma una relazione 1-N

tra la tabella e Dolphin.

Oltre a queste strutture sono state create anche le tabelle Child e UserChild per un

eventuale sviluppo futuro in cui all’interno della piattaforma sarà possibile inserire

dati personali del bambino in modo da poter salvare informazioni riguardanti le

sue performance durante le attività e le sue preferenze rispetto alle caratteristiche

personalizzabili dei giochi. Queste entità non sono state utilizzate all’interno di

Page 132: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

114

questa versione di Dolphin Sam pertanto non sono state inserite all’interno dello

schema ER e dello schema concettuale.

Schema Concettuale

Schema concettuale del database dolphinsam basato sul diagramma ER sopra

illustrato.

TherapeuticCenter (IdTherapeuticCenter, Name, Description, IpAddress)

Tag (IdTag, name, IdTherapeuticCenter)

User (IdUser, Email, Password, Name, Surname, Therapist, Gender,

IdTherapeuticCenter)

Dolphin (IdDolphin, IpAdddress, TimeConnection)

DolphinUser (IdUser, IdDolphin)

DolphinEffect (IdDolphinEffect, Name, Label, IdDolphin)

DolphinEmotion (IdDolphnEmotion, Emotion, Label, IdDolphin)

SoundDolphin (IdSoundDolphin, Name, Url, IdDolphin)

In grassetto viene indicata la chiave primaria della tabella, mentre in corsivo la

chiave esterna.

Interrogazione del Database

Il database di Dolphin Sam viene interrogato mediante delle query SQL effettuate

all’interno di script PHP. Tutti gli script di gestione della base di dati si trovano

all’interno della cartella dolphinsam.com/api/php .

Come prima cosa occorre connettere l’applicazione al database e questo viene

effettuato mediante lo script contenuto nel file config.php. Si impostano i

parametri host, user, password e nome del database, dopodiché si effettua la

connessione al server. Se questa non va a buon fine viene comunicato un errore di

mancata connessione al DBMS, mentre in caso positivo si seleziona il database

corretto e si può iniziare ad interagire con esso.

Page 133: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

115

Fig. 6.2-7: Codice: Connessione al database.

Le interrogazioni al database vengono effettate mediante normali query di SELECT.

Dopo aver specificato all’interno di una stringa la query desiderata si effettua il

comando per la sua esecuzione e si controlla se la ricerca ha avuto esito positivo o

meno andando a guardare se il numero dei risultati è pari a zero oppure no.

Nell’esempio sotto vengono cercati tutti i tag collegati al centro terapeutico

selezionato e, in caso di esito positivo, si iterano i risultati inserendoli in array di

supporto.

Fig. 6.2-8: Codice: Query di SELECT.

Page 134: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

116

La struttura di Dolphin Sam prevede anche l’inserimento, la modifica e la

cancellazione di informazioni all’interno del database, operazioni effettuate

mediante normali query di INSERT, di UPDATE e di DELETE. Dopo aver specificato

la query desiderata all’interno di una stringa si effettua il comando per la sua

esecuzione e si controlla se l’operazione ha avuto esito positivo o meno.

La figura sottostante mostra l’inserimento di un nuovo record all’interno della

tabella User, dove i campi vengono impostati con il valore delle variabili dello

script.

Fig. 6.2-9: Codice: Query di INSERT.

Gli script di interazione con il database vengono invocati da chiamate Ajax

all’interno del codice di gestione dell’applicazione. Queste chiamate sono

solitamente richieste HTTP di tipo POST che possono contenere al loro interno dei

parametri per successive interrogazioni della base di dati.

L’utente può interagire con il database attraverso la fase di registrazione o di

accesso alla piattaforma e potrebbe apportare delle variazioni alla base di dati ad

esempio modificando le sue informazioni personali. Altri campi, come per esempio

le informazioni relative al centro terapeutico, non possono, invece, essere

modificate dall’utente dell’applicazione.

A livello di delfino, la base di dati è utilizzata per memorizzare l’indirizzo ip dello

smart object quindi, quando esso viene acceso, il delfino invoca automaticamente

uno script andando a scrivere sulla base di dati il proprio indirizzo ip. Al contrario

quando l’utente si connette al delfino invoca uno script che interroga il database

per andare a leggere l’indirizzo ip con il quale l’applicazione dovrà andare poi a

comunicare.

Il database infine è utilizzato come supporto per alcune informazioni riguardanti le

attività di gioco. All’interno della base di dati infatti sono memorizzate le canzoni

presenti sul delfino e gli effetti di luce che esso può riprodurre. Mentre per le

prime si possono aggiungere nuove canzoni mediante il pannello Dolphin

Behaviors, gli effetti luminosi sono specifici del delfino e non modificabili. Oltre a

queste informazioni sono memorizzati anche i tempi di attesa per ogni reazione

del delfino. Quando si effettua una reazione, infatti, è necessario aspettare un certo

lasso di tempo per poter effettuare quella successiva poiché lo smart object è in

Page 135: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

117

grado gestire solamente una reazione alla volta e in quel caso le successive

andrebbero perse. All’interno della base di dati sono memorizzati anche tutti i tag

RFID che sono stati forniti ai vari centri terapeutici. Essi, essendo specifici dello

smart object e forniti con esso, non possono essere modificati dall’utente.

Page 136: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

118

ECA Rules

Le attività in Dolphin Sam rispondono a uno schema di tipo azione-reazione.

Per poter gestire in modo strutturato questo meccanismo sono state specificate

della ECA Rules (Event Condition Action Rules) che descrivono le possibili azioni e

le possibili reazioni del sistema e come sono tra loro correlate.

Le ECA Rules descrivono una struttura di regole attive, utilizzata in architetture

event driven e in sistemi di active database, cioè in strutture che necessitano di

comportamenti specifici in risposta a determinati eventi.

Una ECA Rule tradizionale è costituita da tre parti:

1. L’evento (azione) che scatena l’invocazione della regola.

2. La condizione, cioè un test logico, che se soddisfatta porta all’esecuzione della

reazione.

3. La reazione vera e propria che viene prodotta sul sistema.

In Dolphin Sam queste tre parti sono tutte specificate in modo da creare un

meccanismo solido di azione-reazione. Questa struttura è condivisa tra le varie

componenti del sistema: delfino, applicazione e ambiente.

La logica delle varie attività è quindi formata da varie ECA Rules che vengono

salvate all’interno del file JSON relativo al gioco stesso. La logica del gioco è inoltre

memorizzata all’interno di un file XML per poter effettuare modifiche della stessa.

Nello specifico, per le nostre attività, ad ogni evento è associata una sequenza di

reazioni. Gli eventi e le reazioni sono indicati attraverso delle label e possono

contenere fino a tre parametri personalizzabili. (esempio: l’evento “il delfino viene

toccato” ha come label la parola “Touch” e come parametro la parte del corpo

premuta, la reazione “muovi occhi” ha come label ”Move Eyes” e come parametro

la posizione degli occhi).

Nello specifico caso della comunicazione tra applicazione e delfino, le label delle

ECA Rules sono anche le label che vengono inviate allo smart object per fargli

compiere una certa reazione. Le azioni e le reazioni dei dispositivi dell’ambiente e

dell’applicazione sono gestite attraverso il linguaggio specifico di ciascuno

(esempio: accensione Smart Plug mediante codice CGI, visualizzazione di

un’immagine a schermo attraverso codice jQuery).

All’interno del nostro sistema le ECA Rules specificano, oltre che la logica delle

attività, anche la connessione del delfino e dei dispositivi dell’ambiente con la rete

Internet. Si hanno quindi delle reazioni per la connessione e per la disconnessione

del delfino, delle reazioni per la lettura di cosa sta accadendo sul delfino e delle

reazioni per l’accensione e per lo spegnimento dei dispositivi dello smart space.

Ognuna di queste reazioni non ha una Event Condition associata ma è gestita

mediante una logica propria all’interno dell’applicazione.

Page 137: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

119

Event Condition

Si possono avere Event Condition sia sul delfino che sull’applicazione. Esse

vengono gestite quando il bambino interagisce con lo smart object, con lo schermo

o con la tastiera del dispositivo su cui si sta utilizzando l’applicazione. Il verificarsi

di una di esse porta a una delle reazioni descritte successivamente. Di seguito nella

tabella sono riportate le possibili azioni gestite da Dolphin Sam.

Keyboard key number Keyboard button

32 tasto spazio

48 tasto 0

49 tasto 1

50 tasto 2

51 tasto 3

52 tasto 4

53 tasto 5

54 tasto 6

55 tasto 7

56 tasto 8

57 tasto 9

97 tasto a

115 tasto s

100 tasto d

Tabella 6.2-1: Codici tastiera.

Reaction

Si possono avere reazioni sul delfino, sull’applicazione e sull’ambiente. Esse

vengono scatenate dopo che è avvenuta una certa Event Condition. È possibile

avere più reazioni una successiva all’altra ma non è possibile che queste siano

parallele. Tutti i dispositivi del sistema sono infatti in grado di gestire solamente

un’azione alla volta e nel caso dello smart object non è possibile scatenare una

reazione di seguito ad un’altra ma occorre aspettare che la prima sia stata

terminata. Nelle tabelle seguenti sono riportate le possibili reazioni gestite da

Dolphin Sam.

Page 138: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

120

Tabella 6.2-2: Eventi sul delfino.

Page 139: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

121

Tabella 6.2-3: Eventi sullo schermo.

Page 140: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

122

Codice Descrizione rainbow Effetto arcobaleno; rainloop Effetto arcobaleno finché non viene premuto stop

all Si illumina tutto il delfino tra Effetto inseguimento colore trl Effetto inseguimento colore finché non viene premuto stop pli Effetto luce pulsante pll Effetto luce pulsante finché non viene premuto stop

lifin Vengono illuminate le pinne

Tabella 6.2-4: Effetti di luce di Dolphin Sam.

Codice Descrizione 1 Mangiare 2 Dormire 3 Fischio 4 Coccole 5 Felicità 6 Disgusto 7 esultanza 8 Pianto

Tabella 6.2-5: Azioni riproducibili da Dolphin Sam.

Page 141: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

123

Tabella 6.2-6: Eventi sull’ambiente

Page 142: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

124

Tabella 6.2-7: Eventi attività

Page 143: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

125

Creazione e modifica delle attività

Dolphin Sam permette di creare e modificare le attività in modo da avvicinarsi il

più possibile alle esigenze personali dei vari bambini. Tutto questo è effettuato

attraverso il pannello di creazione delle attività.

La struttura di creazione e di modifica è basata su Blockly, una libreria sviluppata

da Google e rilasciata la prima volta nel 2012. Blockly è scaricabile gratuitamente

ed integra un editor all’interno dell’applicazione. Questo editor permette di

rappresentare i concetti di azione e di reazione attraverso blocchi ad incastro.

I blocchi permettono di inserire al loro interno del codice per la composizione della

logica dell’attività.

Blockly è una libreria sviluppata interamente in JavaScript, compatibile con i

maggiori browser in commercio (Chrome, Firefox, Safari, Opera e Internet

Explorer) e supportata a livello mobile sia da Android che da iOS.

Per la nostra applicazione è stata utilizzata la versione Junior della libreria che

permette di rappresentare i blocchi come pezzi di un puzzle all’interno dei quali è

possibile inserire delle immagini di spiegazione.

Quando l’utente crea un’attività attraverso i blocchetti, viene automaticamente

implementato del codice che rappresenta la logica dell’attività stessa e che viene

salvato all’interno di due file: manifest.json e activity.xml .

Nella nostra applicazione, il file manifest.json viene utilizzato per accedere alla

logica dell’attività, mentre il file activity.xml è utilizzato per la sua modifica.

Tutta la logica del pannello di creazione delle attività si trova all’interno della

directory dolphinsam.com/create. Gli script JavaScript per la gestione dei processi

di creazione delle attività si trovano, invece, nei file main.js e junior.js .

Questi script supportano le tre fasi gestite dal pannello: creazione/modifica

dell’attività, visualizzazione dei file multimediali, download e upload di nuovi file

multimediali.

Creazione e Modifica

Le fasi di creazione e di modifica sono implementate con la stessa logica a blocchi

utilizzando la libreria Blockly. In questa sezione la gestione della pagina è inserita

all’interno di main.js mentre junior.js si occupa di comporre i blocchi, il loro

contenuto e il codice che verrà poi inserito in manifest.json e in activity.xml .

Page 144: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

126

L’applicazione è in grado di distinguere le condizioni di creazione e di modifica

mediante la presenza o meno dell’id dell’attività all’interno dell’url della pagina

web.

La prima operazione effettuata è quindi quella di lettura dell’id dell’attività e, in

caso di presenza, si va a leggere e memorizzare il contenuto del file activity.xml.

A questo punto l’applicazione inizializza i blocchi, sia quelli disponibili per

l’utilizzo raccolti in un menu (possibili azioni e reazioni) sia quelli già inseriti per

la costruzione dell’attività. Per questo secondo gruppo di blocchi viene esaminato

il file activity.xml e ne viene visualizzato il contenuto. Vengono impostate forma,

immagine e caratteristiche dei vari blocchi e il codice JSON associato. Oltre a questi

dati viene impostato anche se si tratta di un’azione o di una reazione,

determinando quindi la possibilità per il blocco di avere (reazione) o meno

(azione) dei blocchi precedenti.

Alcuni blocchi danno la possibilità di settare alcuni parametri, essi quindi

presentano delle drop down list o delle palette di colori definite inizialmente. Ad

esempio al caricamento del pannello vengono lette dal database tutte le possibili

emozioni del delfino oppure le immagini utilizzabili dall’utente.

Fig. 6.2-10: Codice: Creazione di un blocco di azione.

Page 145: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

127

Fig. 6.2-11: Codice: creazione di un blocco di reazione.

Dopo aver mostrato a schermo i vari blocchi l’utente può iniziare la creazione o la

modifica dell’attività. Durante questa fase l’applicazione crea dinamicamente il

codice JSON e XML che verrà poi salvato nei rispettivi file. Questa operazione è

subordinata all’inserimento di un titolo per l’attività. Il salvataggio della logica

dell’attività viene effettuato all’interno di uno script PHP il quale viene invocato

mediante una chiamata AJAX di tipo POST all’interno della quale viene passato il

titolo dell’attività, il suo id e il codice JSON e XML.

Fig. 6.2-12: Codice: Salvataggio della logica dell’attività in file JSON e XML.

Il file JSON che viene salvato ha una struttura a parentesi e rappresenta la logica di

un’attività come nell’esempio seguente.

Page 146: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

128

Fig. 6.2-13: Codice: JSON di una attività.

Il file XML ha una struttura a tag e rappresenta la logica di un’attività come

nell’esempio seguente.

Page 147: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

129

Fig. 6.2-14: Codice: XML di una attività.

Page 148: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

130

Visualizzazione contenuti multimediali

La web application contiene dei file multimediali utilizzabili all’interno delle

attività. Nella seconda parte del pannello di creazione delle attività i file

multimediali sono mostrati in quattro schede: immagini, video, suoni e tag RFID.

All’interno di queste schede sono mostrati tutti i contenuti (quelli predefiniti

dell’applicazione e quelli personali dell’utente), presi dalle directory users/0/files

e users/idUser/files.

Una volta entrati all’interno del pannello, il file main.js si occupa di andare a

leggere i contenuti multimediali e di inserirli nelle apposite schede. Viene

effettuata una chiamata di tipo GET ad uno script PHP che attraverso un ciclo va a

leggere all’interno della directory predefinita e in quella personale tutti i file con il

loro contenuto e le loro informazioni (titolo, url e tipo), restituendo il tutto a

main.js .

Page 149: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

131

Fig. 6.2-15: Codice: Lettura dei file multimediali.

Page 150: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

132

A questo punto l’applicazione memorizza questi dati e, a seconda dei vari tipi di

file, li inserisce all’interno della scheda appropriata. Viene anche verificato se il file

è predefinito o meno e nel caso in cui non lo sia viene creato per ogni contenuto un

pulsante per la sua eliminazione.

Fig. 6.2-16: Codice: Visualizzazione dei file multimediali letti nello script PHP.

Page 151: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

133

Viene data anche la possibilità di eliminare un file premendo il pulsante a forma di

cestino associato al contenuto multimediale. Premendo questo tasto viene invocato

uno script PHP che riceve l’url del file da eliminare. Dopo l’eliminazione fisica del

contenuto, l’applicazione richiama nuovamente la funzione di lettura dei contenuti

in modo che le schede si aggiornino senza il file eliminato.

Fig. 6.2-17: Codice: Eliminazione di un file multimediale.

Download e Upload contenuti multimediali

Per poter personalizzare i contenuti delle varie attività la terza parte del pannello

di creazione delle attività permette di effettuare il download e l’upload di nuovi

file. Si offre la possibilità di scaricare immagini e video e di caricare immagini,

video e suoni. I tag sono forniti esclusivamente dai produttori di Dolphin Sam,

quindi l’utente non ha la possibilità di aggiungerne di nuovi.

Quando si effettua il download viene chiamato uno script PHP a cui viene inviata la

stringa da cercare. Lo script PHP effettua una ricerca su openclipart.org se si tratta

di immagini oppure su youtube.com se si tratta di video, inserendo come campo di

ricerca la stringa ricevuta. A questo punto vengono memorizzate in un array le

informazioni riguardanti i file trovati e questi vengono fatti tornare a main.js.

All’interno dello script vengono quindi iterati i risultati per poi mostrare nella

scheda corretta i video o le immagini pronti per il download, associando a ognuno

di essi un’icona per lo scaricamento.

Nel momento in cui si preme su questa icona viene chiamato un nuovo script PHP a

cui vengono inviate le informazioni per il download. Se si tratta di un’immagine si

invia il suo url e lo script la scarica utilizzando la funzione file_get_contents di PHP

mentre se si tratta di un video gli si invia il suo id di youtube e lo script va a creare

il link per poter visualizzare poi lo stesso all’interno delle attività.

Page 152: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

134

In entrambi i casi vengono tornate le informazioni necessarie per poter

visualizzare il contenuto e per poterlo inserire all’interno dei file JSON e XML così

da potervi accedere in caso di esecuzione o di modifica di una attività. Una volta

tornato il contenuto esso viene quindi memorizzato all’interno della rispettiva

cartella e viene richiamata la funzione di visualizzazione dei file per poter

aggiornare le schede e poter vedere i nuovi contenuti scaricati. Al termine del

download di un file, l’applicazione comunica comunque un feedback, mostrando

l’esito positivo o negativo dell’operazione.

Fig. 6.2-18: Codice: Download file di immagine.

Fig. 6.2-19: Codice: Download file video.

L’applicazione permette infine di caricare un proprio file multimediale presente in

locale mediante un uploader. Occorre premere sul pulsante “Carica File” e

selezionare il contenuto desiderato. A questo punto viene richiamato

automaticamente uno script PHP il quale effettua dei controlli sul file per evitare il

Page 153: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

135

caricamento di contenuti troppo grossi, dopodiché a seconda della tipologia di file

(immagine, video o suono) viene impostata la directory corretta in cui inserire il

file ed infine si inserisce il contenuto nella cartella mediante la funzione

move_uploaded_file. Dopo aver effettuato tutto questo lo script PHP fa tornare alla

funzione che lo ha chiamato l’esito dell’operazione e questa va a mostrare un

feedback. In caso di corretto caricamento viene poi chiamata la funzione per la

visualizzazione dei contenuti all’interno delle schede in modo che queste si

aggiornino e mostrino i nuovi file caricati dall’utente.

Page 154: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

136

Fig. 6.2-20: Codice: Upload di un file multimediale.

Page 155: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

137

Comunicazione in Dolphin Sam

Dolphin Sam presenta un sistema composto da vari elementi che, all’interno della

modalità integrata, devono essere in grado di comunicare tra loro. Lo schema di

comunicazione tra questi dispositivi è quello client-server, mediante richieste

HTTP. Il protocollo HTTP funziona su un meccanismo richiesta/risposta (client-

server): il client esegue una richiesta e il server restituisce la risposta. Nell'uso

comune e nella nostra architettura il client corrisponde al browser e il server alla

macchina su cui risiede il sito web. Anche lo smart object, le luci Hue Go e la Smart

Plug fungono da server con cui l’applicazione può comunicare.

Fig. 6.2-21: Schema della comunicazione in un sistema client-server.

La comunicazione tra gli elementi del sistema è gestita mediante delle pagine

JavaScript utilizzando le funzionalità fornite da AJAX. AJAX è l’acronimo di

Asynchronous JavaScript e XML e si tratta di una tecnica per sviluppare

applicazioni altamente dinamiche fondendo assieme le caratteristiche di HTML e

JavaScript utilizzando l'oggetto XMLHttpRequest per la manipolazione dei dati.

Mediante una chiamata AJAX è possibile effettuare una richiesta HTTP ad un

componente esterno dell’applicazione, nel caso di Dolphin Sam il database e lo

smart object.

All’intero della nostra architettura la web application funge da Client e va ad

inviare delle richieste HTTP ai vari Server che sono lo smart object, il web server in

cui è contenuta l’applicazione, comprese le pagine PHP, il server delle luci Hue Go e

il server della Smart Plug. In ognuna di queste comunicazioni il Client invia la

richiesta al server e rimane in attesa di una sua risposta.

Le richieste HTTP utilizzate nella nostra web application sono sia di tipo GET (tipo

di default delle chiamate AJAX) sia di tipo POST. Se il metodo è GET i dati vengono

passati nella query string, nome e valore sono separati da un segno di uguale e le

diverse coppie nome/valore sono separate dal segno '&'. Se invece il metodo è

Page 156: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

138

POST, i dati vengono invece inviati in maniera da non essere direttamente visibili

per l'utente, attraverso la richiesta HTTP che il browser invia al server. per

specificare il tipo di chiamata occorre impostare il parametro type della chiamata.

Gli altri parametri base di una chiamata AJAX sono:

url: l’indirizzo al quale inviare la chiamata

success: funzione che viene richiamata se la richiesta ha successo. Accetta come

argomenti i dati restituiti dal server (interpretati di default come html o XML) e

lo stato della chiamata.

error: funzione richiamata in caso di errore. Accetta un riferimento alla

chiamata XMLHttpRequest, il suo stato ed eventuali errori notificati.

Se la chiamata va a buon fine, si entra nella funziona success che restituisce,

all’interno del parametro data, la risposta alla chiamata.

Altri parametri utilizzati all’interno della web application di Dolphin Sam sono:

timeout che indica dopo quanti millisecondi la chiamata deve essere abortita.

async che indica se la chiamata deve essere asincrona (true) oppure sincrona

(false).

Questo secondo parametro è molto importante poiché, in caso di chiamata

sincrona, il browser rimane in attesa della risposta, interrompendo qualsiasi

attività e rendendo inutilizzabile l’applicazione. Normalmente è sconsigliato e

rischioso utilizzare chiamate sincrone che infatti sono impiegate solo in alcuni casi

in cui p necessaria una sequenza ordinata di chiamate.

Le figure 6.2-22 e 6.2-23 mostrano un esempio di chiamata AJAX di tipo GET con

timeout e un esempio di chiamata di tipo POST, dove in entrambi i casi vengono

passati alcuni parametri.

Fig. 6.2-22: Codice: esempio di chiamata AJAX di tipo GET.

Page 157: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

139

Fig. 6.2-23: Codice: esempio di chiamata AJAX di tipo POST.

La comunicazione tra la web application e lo smart object è sviluppata interamente

mediante chiamate AJAX: l'applicazione invia una richiesta al delfino e attende la

risposta.

Il meccanismo delle reazioni del delfino, comandate dall’applicazione, si basa su

questo tipo di architettura. Lo script invia una chiamata GET allo smart object,

indicando nel parametro a l’azione da eseguire e nei parametri p1, p2 e p3 i

parametri di supporto all’azione, stabiliti nelle ECA Rules. L’applicazione rimane in

attesa della risposta del delfino e, in caso di esito positivo, esamina il contenuto

della risposta e prosegue con le sue operazioni.

Svolgimento di un’attività

L'architettura client-server tra web application e smart object è alla base della

logica con cui è implementato lo svolgimento delle attività.

Quando si entra all’interno di un’attività, la pagina legge, dall’url, l’id del gioco ed

effettua una chiamata POST all’indirizzo del file JSON contenente il trigger

dell’attività. Se la chiamata va a buon fine viene riempito l’array trigger_json con la

logica del gioco.

Page 158: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

140

Fig. 6.2-24: Codice: lettura file JSON contenente la logica dell’attività.

A questo punto l’applicazione va a leggere, sul database, mediante uno script PHP,

l’indirizzo ip del delfino. La web application effettua, quindi, una chiamata allo

smart object per verificare che l’indirizzo sia raggiungibile, cioè che il delfino è

connesso alla rete. In caso di esito positivo si inizia lo svolgimento dell’attività,

altrimenti viene mostrato un messaggio di errore.

Come prima cosa viene inviato il comando resetVar al delfino in modo che venga

svuotata la memoria in cui lo smart object tiene memorizzato l’ultimo evento

accaduto su di esso. Conclusa questa operazione (esito positivo della chiamata

AJAX), l’applicazione va a leggere, all’interno del JSON, tutte le reazioni, e i relativi

parametri, legate all’evento di init e le esegue in ordine. Affinché la sequenza di

reazioni sul delfino venga eseguita correttamente, è necessario che siano rispettati

gli opportuni tempi di attesa. Lo smart object infatti è in grado di gestire solamente

una reazione alla volta: le reazioni vengono cioè svolte in successione, al termine

dell'attività precedente. Ogni tipo di reazione è associato a un tempo predefinito,

memorizzato all’interno del database e letto nel momento di accesso alla pagina

dell’attività. L’implementazione delle sequenze di reazioni prevede invece una

funzione autochiamante che richiama sé stessa dopo aver aspettato il corretto

periodo di tempo di attesa.

Page 159: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

141

Fig. 6.2-25: Codice: funzione per gestire le reazioni sul delfino.

Dopo aver effettuato l’inizializzazione dell’attività, la web application inizia le

interrogazioni alle varie componenti del sistema con cui il bambino può interagire.

Viene effettuato quindi un Polling, cioè la verifica ciclica di tutte le unità o

periferiche di input/output da parte dell’applicazione. Se per il click di

un’immagine o di un tasto l’applicazione deve solamente leggere un evento del

browser o del computer, per le azioni sul delfino occorre, invece, un monitoraggio

costante di quello che succede sullo smart object. In questo secondo caso vengono

effettuate periodicamente delle chiamate AJAX allo smart object il quale comunica,

all’intero della risposta, il proprio stato. Per garantire il più possibile che questo

monitoraggio sia real time le chiamate della web application verso lo smart object

vengono effettuate ogni secondo. Il delfino comunica, nella risposta, l’azione

avvenuta, assieme ai relativi parametri, seguendo coerentemente la sintassi delle

ECA Rules.

Page 160: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

142

Fig. 6.2-26: Codice: funzione GetVar per leggere quello che accade sul delfino.

Se sul delfino non è stata compiuta alcuna azione, la risposta alla chiamata sarà la

stringa null e l’applicazione continuerà ad effettuare il proprio monitoraggio. In

caso contrario, il Polling viene interrotto e viene letto ciò che è accaduto. La label

dell’evento ed i relativi parametri vengono letti e memorizzati in variabili locali,

seguendo la sintassi delle ECA Rules. A questo punto occorre svuotare la memoria

dello smart object in cui viene registrato l’ultimo evento accaduto, operazione

effettuata mediante il comando resetVar. In seguito lo script controlla se l’evento

appena accaduto sul delfino è contenuto all’interno del JSON dell’attività andando a

confrontare label e parametri ricevuti dallo smart object con quelli contenuti

all’interno del file JSON. In caso negativo si riprende il Polling, mentre in caso

positivo si inizia la sequenza di reazioni relative a quell’evento, esattamente con la

Page 161: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

143

stessa logica utilizzata per l’evento di init. Concluse tutte le reazioni si ricomincia il

Polling in attesa di un nuovo evento sul delfino, sullo schermo o sulla tastiera.

Fig. 6.2-27: Flow Chart dell’esecuzione di un’attività.

Questo meccanismo di interrogazione continua verso il delfino non viene effettuato

se all’interno dell’attività non sono presenti eventi che coinvolgono l’interazione

con lo smart object. Questo è il caso in cui il gioco, per aiutare il bambino, prevede

Page 162: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

144

che un terapista faccia partire le reazioni senza che l’evento sul delfino venga

tenuto in considerazione. Per ottenere questa informazione viene esaminato il file

JSON all’inizio dell’attività, quindi si comincia lo svolgimento nella modalità

corretta con o senza Polling.

Questa struttura permette di poter interagire in tempo reale con tutti i dispositivi

del sistema sia in fase di lettura di un’azione che in fase di svolgimento di una o più

reazioni. Questo porta ad avere un sistema real time in grado di poter fornire al

bambino feedback immediati durante le attività, rendendole utili e appassionanti.

Page 163: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

145

Connessione a Hue e Smart Plug

Uno dei punti di forza di Dolphin Sam è la presenza di uno smart space in grado di

migliorare l’esperienza del bambino durante le attività mediante l’utilizzo di luci e

altri effetti speciali. Per fare questo vengono utilizzate delle Smart Lights e dei

dispositivi Smart Plug.

Le luci Philips Hue Go, essendo dotate di batteria interna, risultano portabili, cioè

possono essere spostate in vari centri terapeutici e in vari punti di una stessa

stanza. Per poter utilizzare le Hue Go all’interno del nostro sistema è necessario

che siano connesse alla stessa rete Internet a cui sono collegate anche le altre

componenti del sistema. Lo Hue Bridge delle luci deve quindi essere collegato alla

rete mediante cavo Ethernet. Dopo la pressione del tasto centrale sul bridge, le Hue

Go sono in grado di comunicare con l’applicazione.

Per comandare le azioni delle luci dello smart space, l’applicazione utilizza degli

script jQuery contenuti nella più ampia logica di gestione delle attività e dei

comportamenti del delfino. Innanzitutto occorre creare un’istanza della classe

huepi fornita dalla Hue Go e al cui interno vi sono tutte le proprietà per la sua

gestione.

Fig. 6.2-28: Codice: Istanza per la gestione delle Hue Go.

Per la prima interazione tra web application e luci, è necessario che l'applicazione

si connetta allo Hue Bridge. Questa operazione, molto veloce, è effettuata per un

massimo di cinquanta volte per evitare che, in caso di problemi, l’applicazione

rimanga ferma tentando di connettersi al bridge. Dopo aver effettuato il

collegamento, ne viene comunicato lo stato e vengono accese le luci.

Page 164: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

146

Fig. 6.2-29: Codice: lettura dello stato della connessione delle Hue Go.

Una volta che l’applicazione e le Hue Go sono in grado di comunicare è possibile

accendere, spegnere e regolare la luce dello smart space. Per fare questo si

utilizzano quattro funzioni fornite dalle api delle Hue Go, invocate all’interno degli

script jQuery. Si ha una funzione GroupOn per accendere un gruppo di luci (nel

nostro caso il gruppo 0 comanda tutte le luci), una funzione GroupSetRGB per

impostare il colore con codifica RGB, una funzione GroupSetBrightness per

impostare la luminosità e una funzione GroupOff per spegnere lo stesso gruppo di

luci.

Nell’esempio sottostante, queste funzionalità sono state divise in due procedure

per l’accensione e lo spegnimento delle luci. Nella funzione di accensione vengono

utilizzati i parametri per il colore e la luminosità letti da elementi della pagina.

Fig. 6.2-30: Codice: funzione per accendere e spegnere le Hue Go.

Page 165: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

147

Oltre alle luci Hue Go, lo smart space è fornito anche di Smart Plug a cui è possibile

connettere qualsivoglia dispositivo ritenuto utile per fornire un rinforzo al

bambino. Nelle nostre attività, alla Smart Plug è stata collegata la macchina spara

bolle, che offre un feedback emotivo importante, molto apprezzato dai bambini.

Ogni Smart Plug è caratteristica di un centro terapeutico e ha associato un

indirizzo ip impostato all’interno del database. L'ip address permette

l'individuazione del dispositivo e la comunicazione all’interno della rete Internet.

In particolare l'indirizzo ip viene letto dall’applicazione al momento della login

dell’utente e viene salvato in sessione.

Le Smart Plug presentano delle proprie API che consentono di gestirne il

comportamento. È possibile accendere il dispositivo mediante la API relay.cgi?on,

spegnerlo mediante la API relay.cgi?off e modificare il suo stato (accenderlo se è

spento e viceversa) mediante la API relay.cgi?toggle. Queste API possono essere

invocate all’interno di uno script jQuery mediante delle chiamate Ajax che

effettuano una richiesta HTTP di tipo POST all’indirizzo della Smart Plug

contenente l’API desiderata.

Nell’esempio sotto si ha una funzione che va a modificare lo stato della Smart Plug.

Fig. 6.2-31: Codice: funzione per il cambiamento di stato della Smart Plug.

Attraverso tutte queste funzioni è possibile illuminare la stanza e dare rinforzi

importanti al bambino, così da rendere il più coinvolgente e personale possibile

l’esperienza dell’attività terapeutica.

Page 166: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

6 Implementazione Software

148

Page 167: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

7 Sperimentazione

149

7 Sperimentazione

In questo capitolo viene presentata la progettazione della sperimentazione che

verrà effettuata presso il centro L'abilità di Milano e le variabili che verranno

utilizzate per la validazione dei dati raccolti. Inoltre un delfino e tutti i componenti

per la creazione dello smart space sono stati inviati a Sam Foundation in Olanda e

saranno oggetto di un’altra sperimentazione.

7.1 Il progetto della sperimentazione

Al momento della stesura di questo elaborato si sta svolgendo la sperimentazione

presso il centro “Agenda Blu”.

In questa sede de l’Abilità è possibile si lavora su tre versanti: la comunicazione, il

gioco e l’interazione sociale, sempre in sinergia con la famiglia, con gli specialisti

che seguono il bambino e con la scuola frequentata.

Gli aspetti legati al tema della comunicazione sono quelli che spesso stanno più a

cuore ai genitori: hanno bisogno di capire come entrare in relazione con il

bambino, come parlargli. È essenziale ricordare che i bambini con disturbi dello

spettro non sempre utilizzano il linguaggio verbale: per loro conta ciò che sentono,

vedono e toccano. È quindi. fondamentale potenziare anche queste forme di

linguaggio.

Un altro importante versante di lavoro è quello del gioco, inteso come momento di

relazione e di piacere.

L’équipe di “Agenda Blu” è costituita da: pedagogisti, neuropsicomotricisti dell’età

evolutiva, educatori professionali specializzati nell’educazione del bambino con

disabilità. Partendo da una osservazione del bambino l’équipe propone laboratori e

giochi, in rete con i servizi socio-sanitari e la scuola.

7.2 Fasi e tempistiche

La data di inizio sperimentazione è stata fissata al 14 ottobre 2016 e verrà

strutturata in due fasi. Nella prima fase di sperimentazione, verrà testato Dolphin

Sam solamente in modalità autonoma sui sei bambini con disabilità più gravi. La

durata prevista per questa fase è di quattro settimane. Nella prima settimana tre

bambini lavorano con Dolphin Sam per circa dieci minuti al giorno, due volte la

settimana, mentre gli altri tre bambini giocano, per lo stesso tempo, con un

Page 168: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

7 Sperimentazione

150

semplice peluche. Nella seconda settimana i due gruppi si scambiano, così come

nelle due settimane successive.

Il peluche inanimato presenta caratteristiche simili a quelle di Dolphin Sam (è

anch’esso un pesce con occhi grandi), ma anche tratti che lo rendono ben

distinguibile (colore differente). In questo modo i due trattamenti risultano

confrontabili ed è quindi possibile individuare se i bambini danno una risposta

diversa all’attività terapeutica in quanto Dolphin Sam, grazie alla sua tecnologia, è

effettivamente migliore rispetto all’oggetto inanimato.

Terminata questa fase si effettuerà uno studio su un gruppo di sei bambini con

disabilità minori utilizzando Dolphin Sam anche in modalità integrata. Non sono

ancora state definite le caratteristiche di questa seconda fase di sperimentazione.

Nei paragrafi successivi sono descritte le principali caratteristiche della

sperimentazione di fase 1.

7.3 Soggetti coinvolti

Verranno coinvolti 12 bambini con un’età compresa tra i 2 e 6 anni d’età affetti da

disturbi dello spettro autistico. Sei bambini presentano disabilità maggiori e

verranno reclutati per la prima fase di sperimentazione. Gli altri sei bambini, con

disabilità più lievi, verranno reclutati per la seconda fase.

7.4 Ambiente della sperimentazione

L’ambiente deve seguire le seguenti caratteristiche:

Stesso luogo per tutte e 4 le settimane di sperimentazione.

Il più essenziale possibile dal punto di vista sensoriale, privo di elementi

distraenti e/o attraenti.

Nella stanza sono presenti, oltre all’operatore, solo l’oggetto per la terapia

(Dolphin Sam o peluche inanimato) e un gioco nuovo con elementi che potrebbero

piacere al bambino ma che sappiamo non rientrare nelle sue stereotipie o forti

preferenze

Page 169: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

7 Sperimentazione

151

7.5 Comportamento operatore

Il terapista guida il bambino durante la seduta, seguendo lo schema qui riportato:

0-2 minuti: osservazione senza intervento.

A 2 minuti:

Se il bambino è già stato attratto da Sam/Peluche enfatizza dicendo “Hai

visto che bel gioco ti ho portato oggi?”.

Se il bambino è passivo o attratto dall’altro oggetto, l’operatore gli mostra

Sam/peluche ed enfatizza dicendo “Hai visto che bel gioco ti ho portato

oggi?”.

Se il bambino si è allontanato, viene riportato nella stanza, gli viene

mostrato Sam/peluche, dicendo “Hai visto che bel gioco ti ho portato oggi?”.

A 4 minuti:

Se il bambino sta interagendo con Sam/peluche, il terapista segue

l’iniziativa spontanea del bambino.

In tutti gli altri casi il terapista dice: “Senti come è morbido” e accarezza

l’oggetto. Se il bambino non imita o non reagisce, l’operatore modella il

gesto dell’accarezzare.

A 6 minuti:

Se il bambino sta interagendo con Sam/peluche, l’operatore segue

l’iniziativa spontanea del bambino.

In tutti gli altri casi l’operatore dice: “Guarda come nuota” muovendo in su e

in giù il pupazzo.

A 8 minuti:

Se il bambino sta interagendo con Sam/peluche il terapista segue l’iniziativa

spontanea del bambino.

In tutti gli altri casi l’operatore dice: “senti le sue pinne” schiacciandole. Se il

bambino non imita o non reagisce, l’operatore modella il gesto dello

schiacciare.

A 10 minuti l’operatore mette l’oggetto in una scatola dicendo: “Ora va a fare la

nanna”. Utilizzerà il supporto visivo BASTA-METTI VIA e la BARRA ROSSA.

Page 170: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

7 Sperimentazione

152

7.6 Raccolta dati

I dati della sperimentazione vengono raccolti mediante la compilazione da parte

del terapista di un apposito form, sotto riportato.

Page 171: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

8 Conclusioni

153

8 Conclusioni

Questa tesi ha portato alla realizzazione di Dolphin Sam, un sistema che unisce uno

smart object, una web application e uno smart space per aiutare i bambini affetti

da disabilità intellettive nelle attività terapeutiche.

Lo studio ha preso vita da precedenti esperienze dello stesso tipo, che hanno

evidenziato come la tecnologia può contribuire anche nella sfera medico-sanitaria

(Capitolo 2).

Si è svolto uno studio di raccolta e analisi dei requisiti in collaborazione con i

terapisti dei centri L'Abilità e Sam Foundation (Capitolo 3). Dopo aver analizzato le

terapie già in uso, che prevedono o meno l’utilizzo di strumenti tecnologici, è stato

progettato e quindi realizzato un prodotto innovativo, incentrato sui bisogni e sulle

esigenze dei bambini.

Il risultato è una piattaforma articolata su due livelli: il livello del gioco in cui è

possibile interagire nelle due modalità (autonoma e integrata) previste dal sistema

e quello della personalizzazione in cui il terapista può creare nuove attività o

modificare quelle già esistenti così da avere giochi su misura per le esigenze

personali di ogni bambino. La possibilità di espansione dei giochi raggiunge in

questo modo livelli mai toccati con le precedenti soluzioni, che si limitavano ad

offrire una gamma predefinita e limitata di attività.

Oltre a questa importante innovazione, il prodotto risulta molto valido poiché

propone delle attività coinvolgenti per il paziente, andando ad unire diverse

modalità di interazione e di reazione da parte di più elementi dell’ambiente in cui

si svolge la seduta terapeutica. Un ultimo aspetto molto importante è che con

questo progetto sono stati abbattuti i costi di realizzazione di un sistema

utilizzabile a supporto della terapia medico-psicologica, con conseguente riduzione

del peso economico a carico delle famiglie con figli affetti da disabilità mentali.

Page 172: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

8 Conclusioni

154

8.1 Sviluppi Futuri

Sostituire Arduino con un dispositivo più performante come Raspberry PI che

permette di connettere anche una video camera per riprendere le sedute di

terapia dal punto di vista dello smart object.

Aumentare la configurabilità della base per permettere una maggiore

personalizzazione dei sensori e degli attuatori.

Sviluppare la struttura perché sia in grado di gestire bambini differenti. In

questo modo si potrebbero memorizzare informazioni su di essi e sulle loro

esigenze in modo da creare attività sempre più specializzate.

Aumentare il numero di Smart Plug gestiti così da poter offrire stimoli migliori

ai bambini.

Migliorare la qualità della comunicazione tra la web application e le altre

componenti del sistema all’interno della modalità integrata.

Aumentare la stabilità complessiva del sistema.

Dolphin Sam per sua natura rimane aperto a stimoli futuri, pronto ad evolversi per

supportare i bisogni dei bambini ed aiutarli nel loro processo di crescita.

Page 173: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Bibliografia

155

Bibliografia

1. Motion-based touchless interaction for asd children, a case study. Garzotto,

Franca, et al. 2014.

2. Touchless Motion-Based Interaction for Therapy of Autistic Children. Garzotto,

Franca, Valoriani, Matteo e Bartoli, Laura. 2014.

3. American Association on Intellectual and Developmental Disabilities. [Online]

http://aaidd.org/intellectual-disability/definition.

4. APA American Psychiatric Association. Dsm-5. [Online] http://www.dsm5.org/.

5. World Health Organization. Icd 10. [Online]

http://www.who.int/classifications/icd/en/.

6. Advanced parental age and the risk of autism spectrum disorder. Durkin, M.S., et

al. 2008.

7. Birth weight and gestational age characteristics of children with autism, including a comparison with other developmental disabilities. Schendek, D. e

Bhasin, T.K. 2007.

8. CDC Centers for Disease Control & Prevention. [Online] http://www.cdc.gov.

9. I disabili, i più diseguali nella crescita delle diseguaglianze sociali. [Online] 2014.

http://www.censis.it/7?shadow_comunicato_stampa=120959.

10. The Economic Costs of Autism: A Review. Amendah, Djesika, et al. 2012.

11. Amaral, David, Geschwind, Daniel e Dawson, Geraldine. Autism spectrum disorders. 2011.

12. Early communication development and intervention for children with autism. Landa, Rebecca. 2007.

13. Robot and social actors: Aurora and the case of autism. Dautenhahn, Kerstin.

2002.

14. The Teacch Approach to Autism Spectrum Disorders. Mesibov, Gary B., Shea,

Victoria e Schopler, Eric. 2004.

Page 174: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Bibliografia

156

15. Il gioco nello sviluppo, nella salute e nel benessere del bambino. Goldstein,

Jeffrey. 2012.

16. A computer game based approach for increasing fluency in the speech of the autistic children. Anwar, Anika, et al. 2011.

17. Manuale sulla disabilità. Dai bisogni educativi speicali ai programmi di integrazione scolastica. Lo Sapio, Giovanna. 2012.

18. Neuroni specchio, linguaggio e autismo. Brandi, Luciana e Bigagli, Andrea.

2004.

19. The History of Ideas on Autism: Legends, Myths and Reality. Wing, Lorna. 1997.

20. Ballarini, G. Pet therapy. Animals in human therapy. 2003.

21. Importance ofcompanion animals in children's lives: implications for veterinary practice. Melson, G.F., Schwartz, R.I. e Beck, A.M. 1997.

22. Cute and Cuddly and a Whole Lot More? A Call for Empirical Investigation into the Therapeutic Benefits of Human - Animal Interaction for Children. Gullone,

Eleonora. 2001.

23. Behavior of dolphins towards adults and children during swim-with-dolphin programs and towards children with disabilities during therapy sessions. Brensing,

Karsten. 2015.

24. Effects of a dolphin interaction program on children with autism spectrum disorders - an exploratory research. Salgueiro, Emilio, et al. 2012.

25. Philips Hue. [Online] http://www2.meethue.com/it-it/.

26. Philps Hue Go. [Online] http://www2.meethue.com/it-

it/productdetail/philips-hue-go.

27. Arduino. [Online] https://www.arduino.cc/.

28. Magic Ball. [Online]

https://drive.google.com/open?id=0B2XVqG5s9OsgNWJTcTlvN2V3TXM.

29. i3Lab. [Online] http://i3lab.me/.

Page 175: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Bibliografia

157

30. Leka. [Online] http://leka.io/.

31. Paro. [Online] http://www.parorobots.com/.

32. L'Abilità. [Online] http://labilita.org/.

33. Sam Foundation. [Online] http://www.stichtingsam.nl/.

34. Designing and evaluating touchless playful interaction for asd children. Gelsomini, Mirko, et al. 2014.

Page 176: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice

158

Appendice In questa sezione vengono presentati alcuni documenti aggiuntivi relativi a

Doplhin Sam.

L’appendice A mostra le istruzioni per il settaggio e per l’uso dell'intero sistema.

Questo documento è stato inviato a Sam Foundation a inizio Ottobre 2016, assieme

a un delfino e a tutti i componenti necessari per la creazione di uno smart space.

Nell’appendice B è, invece, riportato l'articolo presentato a Bari nel Giugno 2016

all'interno della (oppure durante la oppure nel corso della) conferenza AVI -

Advanced Visual Interfaces.

Page 177: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

159

INSTRUCTION MANUAL How to configure Dolphin Sam and the Smart Space

Page 178: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

160

Box contents Name Image Description

1 Dolphin Sam

Smart object required to

play the activities

1 Router and power

supply

Required to control

dolphin with the PC

1 Bubble Shooter and

liquid

1 Portable Philips

HUE and BRIDGE

Smart light controlled by

PC

30 Little dolphins

Gifts for children

1 Micro USB cable

Recharge the dolphin Upload song in the

dolphin

1 USB charger

Recharge the dolphin

1 Smart plug

Required to control

bubble shooter with the

PC

6 Cards

2 Ethernet Cables

Connect router to internet network

Connect BRIDGE to the router

1 USB cable

This cable is used only for

update the software of

Dolphin Sam.

Page 179: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

161

Requirements Please consider to setup the study in a room composed of:

Ethernet socket with activated internet connection

Power sockets

PC

Screen or projector

Connect the System Step 1: Connect the router to a power socket through its power supply and connect

the router (BLUE port) with an ethernet cable in the ethernet socket (with a

working internet connection).

Step 2: Connect the BRIDGE to a power socket and connect it through ethernet

cable to port 1 (YELLOW port) of the router.

Step 3: Connect the Portable Philips HUE to a power socket when you need to

charge it.

Step 4: Connect the smart plug to a power socket and plug in the bubble shooter or

whatever device you prefer to activate using the smart plug.

You can see all the connections in the image below:

Page 180: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

162

Test the System Once you have completed the steps above you can control the correct functioning

of the system.

Connect PC to the network Turn on a PC, search and connect it to Dolphin_Sam network. To connect correctly

you must insert the password DolphinSam! (note capitalization and special

characters).

Test Internet connection Once the pc is connected, check if your Internet connection working correctly.

Open the browser (Google Chrome is required) and type in the address bar the

following url:

www.dolphinsam.com Otherwise check your ethernet socket connection and verify if you are connected

to Dolphin_Sam.

Test smart plug and the bubble shooter Once you have verified the connection open the browser and type in the address

bar the following address:

192.168.8.60 and press enter. In the center of the screen appears a button. If you turn on the

button the bubble shooter (already connected to the smart plug) turns on. If it

doesn’t work recheck the network and verify if a pulsating blue light on the smart

plug appears.

Test Portable Philips HUE Now we can test the Portable Philips HUE. Open the browser and go to

dolphinsam.com, scroll down the page and press Login.

Insert your data

Email: dolphin

Password: sam

Then click to Login again.

Press Menu and select Sam behaviors. Now scroll the page and search for the Hue

Lights section. To connect Philips HUE to your browser, press the button Hue Off

and right after push the only button present on the BRIDGE.

Now you can change the color and the Brightness of Philips HUE using the Hue

Lights section. If it is not working properly refresh the web page and repeat the

steps described above.

Page 181: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

163

3Axes Accelorometer,

Gyroscope, Compass Dolphin Sam

You can use Dolphin Sam in 2 different ways:

Autonomous (AUTO)

Manual (MAN)

With a switch, positioned in the dolphin belly, you can turn on and choose the

mode of use of Sam.

Dolphin panel

1) AUTO/OFF/MAN Modality

2) Bluetooth ON/OFF (BT)

3) USB charging port (PWR)

4) Battery level light indicator

5) Button light indicator

6) USB port to load songs or audio effects in the

dolphin

2 Motors

(eyes, mouth)

RFID Reader

Multicolored LED

strip

3 Touch sensors

(2 fins, 1 head)

Huggable skin with light

color (40 cm) and soft fabric

WiFi Connection

Bluethoot speaker

This port is used to connect the dolphin to PC

and update the dolphin firmware. See the

“Update Dolphin Sam” paragraph to know

how connect the cable to PC.

Page 182: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

164

1) AUTO/OFF/MAN Modality Autonomous Mode In the Autonomous Mode the dolphin can be used without any other connection.

Action Reaction on dolphin

Touch the head Falling asleep

Touch the fin Happy

Insert fish card in the mouth Eat

Insert pacifier card in the mouth Sleep

Insert meat card in the mouth Disgust

Insert brush card in the mouth Brushing teeth

Raise head Rainbow light effect

Lower head Pulsating light effect

Manual Mode In manual mode you can control the dolphin from the pc using the website

dolphinsam.com. In this mode you must first verify that all devices are connected

(see paragraphs “Connect the System” and “Test the System”).

Connect the Dolphin 1. Connect your pc to the Dolphin_Sam Wi-Fi Network

2. Turn on the dolphin in manual mode (MAN)

3. Open the website dolphinsam.com and login (as previous section)

4. Press the button “SELECT A DOLPHIN”

5. Choose “Dolphin 1” and press Select

6. A green message will appear: “Dolphin 1 selected and already connected”.

Click on Close button.

7. A green box will appear showing: “Dolphin 1 connected”.

Sam behaviors Now you can use Dolphin Sam through the page Menu -> Sam behaviors. In this

page you can control every behavior of the dolphin and the devices of the smart

space:

Color of the body (possible parts: head, belly, right fin, left fin);

Turning off lights;

Lighting Effects: the effects with the string loop at the end of their name

continue indefinitely. To stop a light effect, you must press Stop Effect button;

Page 183: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

165

Eye Movement (possible positions: eyes open, eyes closed, eyes halfway, eye

movement);

Mouth Movement (possible positions: mouth open, mouth movement);

Play a sound / song embedded in the internal memory of the dolphin;

Pause a sound / song embedded in the internal memory of the dolphin;

Stop a sound / song embedded in the internal memory of the dolphin;

If you press this section

you can choose the

colour.

Page 184: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

166

Play Emotion. The dolphin shows the emotion selected in the list.

Hue Lights. turn on/off the ambient lights and control its colour and intensity.

Smart-Plug. turn on/off the Smart-Plug and the device connect to it.

2) Bluetooth (BT) If you turn on the bluetooth you can use Dolphin Sam like a bluetooth speaker. In

this way you can connect a PC or smartphone through a bluetooth connection and

play music, sounds and audio effects from your device.

To find Dolphin Sam bluetooth open the setting panel of your device and search for

“WSTER” and connect with it. Once connected all the sounds from the device will

be played from the dolphin.

3) USB charging port (PWR) In this port you can charged the battery of the dolphin. Plug in the micro USB cable

and put that in the USB charge.

4-5) Battery level light indicator Press the Button light indicator (5) and four LEDs indicate the battery charge level.

If all the 4 LEDs are lighted it means that the battery is fully charged, while if there

is only one LED lighted it means that it’s required to charge the dolphin.

Page 185: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

167

6) USB port to load the song/audio effect to the dolphin If you want load a song on dolphin you must connect the dolphin to pc using a

micro USB cable. In this way you can open the MP3 folder and put your songs here.

It is very important that the song starts with 4 numerical digits followed the name

of the song.

IMPORTANT: upload the songs when the dolphin is off.

Example: if you want to insert “MySong.mp3” file, rename the file to “0003 -

MySong.mp3”.

Once added the file in the Dolphin you need load the file name on the website. First

login in dolphinsam.com, next press Menu and click on Sam behaviors. Now scroll

the page to the section Play Music and in textbox named Name Song insert the

same name used to rename the files placed in the Dolphin and press the button

Add Song.

Now you can select and play the sound just uploaded.

Page 186: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

168

Smart Space Activities Play a predefined activity To play with the dolphin connected to the smart space using a predefined activity

click on Menu and next on Select activity.

We propose 6 example activities.

Activity Description

Example 1 – Sunrise A starry sky appears on the screen, the ambient light is

blue and the dolphin sleeps. If you caress the dolphin

head/fins, on the screen start a video with the sunrise,

the ambient light becomes yellow and dolphin is happy.

Example 2 – Puppies A question appears on the screen a question and you

can choose the answer pressing the correct image on

the screen. If the answer is right the ambient light

becomes yellow and the dolphin exults.

Example 3 – Eat A question appears on the screen: “I'm hungry, give me

something to eat”. If you insert in the dolphin mouth the

card with the meat the dolphin rejects and the ambient

light becomes red. If you insert the card with the fish

the dolphin eats, the ambient light becomes green and

the bubble shooter turns on.

Example 4 – Emotion The dolphin plays an emotion and on the screen

appears a question. You can choose the answer pressing

the correct image on the screen. If the answer is right

the ambient light becomes green, a “picture exult” is

showed on the screen and the bubble shooter turns on.

Example 5 – Head A dolphin area is lighted. If you caress this area the

dolphin exults, the ambient light becomes green and the

bubble shooter turns on

Example 6 - Left Fin A dolphin area is lighted. If you caress this area the

dolphin exults, the ambient light becomes green and the

bubble shooter turns on

Create a new activity To create a new activity, click on Menu and next on Create new activity. To build

your personal activity there are 5 sections on the left of the page.

Title of the

new activity

Initial state

Page 187: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

169

Initial state In this state the system is initialized. Under this block you can connect the reaction

blocks from sections Dolphin Behaviors, Screen Effects, Ambient Effects and Other

Actions. When an activity starts all reactions related to the initial state are played.

The action reaction schema

User action In this section there are blocks which represent the action that the user can do on

the dolphin or on the screen. Under this block you can connect the reaction blocks

from sections Dolphin Behaviors, Screen Effects, Ambient Effects and Other

Actions.

Action Immage Description

Touch left fin

The user touches the left fin

Touch right fin

The user touches the right fin

Touch belly

The user touches the belly - DISABLED

Touch head

The user touches the head

Insert card in mouth of the

dolphin

The user inserts a specific card in the dolphin mouth

Rotate the dolphin

The user rotates the dolphin in a specific position

Press keyboard key

The user presses a specific keyboard key

Touch the screen

The user presses the selected image.

IMPORTANT: To use this block there must already be an image

block (“Screen effects” and select “Show one image” or ”Show two

images” and so on) on the screen and you must select the correct

letter that represent the image that you want press

Page 188: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

170

Dolphin Behaviors In this section there are blocks which represent all actions that dolphin can do.

Reaction Image Description

Open eyes

The dolphin opens its eyes

Medium eyes

The dolphin opens its eyes at half

Close eyes

The dolphin closes its eyes

Move eyes

The dolphin blinks its eyes for 3 time

Open mouth

The dolphin opens the mouth for 3 seconds

Move mouth

The dolphin opens and close the mouth for 5 time

Play sound effect

The dolphin plays a song that has been previously

loaded. Look at the section “6) USB port to load the

song/audio effect to the dolphin”

Pause sound effect

The dolphin pauses the song that it is playing

Stop sound effect

The dolphin stops the song that it is playing

Toggle sound effect

If the dolphin is playing a song it is paused.

If the song is paused the dolphin play it

Light head

The head of the dolphin is lighted by the selected color

Light belly

The belly of the dolphin is lighted by the selected color

Light left fin

The left fin of the dolphin is lighted by the selected color

Light right fin

The right of the dolphin is lighted by the selected color

Light effect

The dolphin shows the color effect selected

Page 189: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

171

Turn off lights

All dolphin lights are turned off

Reproduce an emotion

The dolphin shows the emotion selected

Screen Effects In this section there are the blocks which represent all screen effects that can be

showed on the screen.

Reaction Image Description

Exult

On the screen appears an image which indicates that

the action is correct

Show one image

The screen shows a single image (Image Main)

Show two images

The screen shows two images

(A, B)

Show three image

The screen shows 3 images

(A, B, C)

Show four image

The screen shows 4 images

(A, B, C, D)

Show five image

The screen shows 5 images

(A, B, C, D, E)

Load video

Before viewing the video, you must load it through this

block

Play video

Once the video is loaded, it is played

Pause video

The video is paused

Stop video

The video is stopped

Toggle video

If the video is played, it is paused.

If the video is paused, it is played

Play sound

It is played a song from PC

Pause sound

The song is paused

Page 190: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

172

Stop sound

The song is stopped

Toggle sound

If the song is played, it is paused

If the song is paused, it is played

Color the screen

This block allows you to show a color on the screen

Write on screen

This block allows you to show a writing on the screen

Ambient Effects Reaction Immage Description

Turn on ambient light

Turn on the ambient light, and it allows to choose it

color

Turn off ambient light

Turn off the ambient light

Toggle ambient light

If the ambient light is on, it turns off

If the ambient light is off, it turns on

Time toggle ambient light

After x seconds (set by user) if the ambient light is on

it turns off, if the ambient light is on it turns off

Turn on smart plug

Turn on the smart plug

Turn off smart plug

Turn off the smart plug

Toggle smart plug

If the smart plug is on, it turns off

If the smart plug is off, it turns on

Time toggle smart plug

After x seconds (set by user) if the smart plug is on it

turns off, if the smart plug is off it turns on

Other Actions Reaction Image Description

Repeat the activity

This block allows to redo an activity

Change activity

This block allows to switch to another activity.

IMPORTANT: if you want to perform two activities below,

the first created will be the last played. In this way when

you create the first activity that you want to play you can

use this block and connect it to the activity created

previously

Page 191: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

173

View images/videos/sounds/Rfid tags In this section you can see your file, images, videos, sounds and Rfid tags. These

files are the ones that you can use to create new activities.

Download/Upload images/videos/sounds In this section you can upload your personal files or search in internet existing

files.

IMPORTANT: You can upload only files with the following extensions: .jpg, .png,

.gif, .mp4 and .mp3. Other file extensions are not allowed.

Example create new activity (Example 3 - Eat)

Insert the keyword and press Search

After 5 seconds the light turns

off.

Page 192: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

174

Common errors If the Philips HUE remains off for a long time and the power supply is

unplugged, you must press the only button positioned under the light to

reactivate the light and control it from the website.

If the activity does not respond for a long period and the dolphin it seems

disconnected, restart the dolphin (move the switch in OFF position, after that

repositions the switch in MAN position), restart the website and control the

connection of the dolphin. Use the page Sam behaviours to test the connection

between dolphin and website.

If there are errors in the network, revise the section “Connect the System“ in

this manual.

If the router is reset, you need to reprogram it:

1. Connect the PC to the router via Ethernet cable and open the browser.

Now digit 192.168.1.0 or 192.168.1.1 in the address bar and press enter.

2. A login form appears and insert as username “admin” and password

“password”.

3. Now go into the Lan/WLan settings and set up the IP network with this

IP address “192.168.8.1” and the subnet mask with “255.255.255.0”.

4. After this change the name of the WiFi network (SSID) in “Dolphin_Sam”

and set up the password as “DolphinSam!”

5. Restarts the router and enjoy.

Update Dolphin Sam Using TeamViewer we can update Dolphin Sam, but you must connect the USB

debug cable in the dolphin and plug in in your PC. To connect the USB debug cable

to the dolphin you must find a hole behind the panel and plugin the cable holds the

USB image of the cable up.

USB cable

Dolphin panel

Page 193: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice A

175

Dolphin Sam: A Smart Pet for Children with Intellectual Disability

Simone Colombo

Franca Garzotto

Mirko Gelsomini

Mattia Melli

Francesco Clasadonte

I3Lab, Department of Electronics, Information and Bioengineering

Politecnico di Milano, 20133 Milano, Italy

franca.garzotto, mirko.gelsomini, [email protected] simone17.colombo, [email protected]

ABSTRACT Our research aims at helping children with

intellectual disability (ID) to “learn through play”

by interacting with digitally enriched physical toys.

Inspired by the practice of Dolphin Therapy (a

special form of Pet Therapy) and, specifically, by

the activities that ID children perform at

Dolphinariums, we have developed a “smart”

stuffed dolphin called SAM that engages children in

a variety of play tasks. SAM emits different stimuli

(sound, vibration, and light) with its body in

response to children’s manipulation. Its behavior is

integrated with lights and multimedia animations

or video displayed in the ambient and can be

customized by therapists to address the specific

needs of each child.

CCS Concepts

Social and professional topics ~ People with

disabilities

Human-centered computing ~ Interaction

paradigms

Keywords Children; intellectual disability; autism; pet

therapy; smart object; Arduino

INTRODUCTION AND BACKGROUND Intellectual Disability (ID) is a

neurodevelopmental disorder that affects about 2-

3% of the world population and is characterized by

severely impaired intellectual and adaptive

functioning. ID has an incurable nature, but early

interventions and appropriate therapeutic

approaches can help ID persons to improve their

intellectual and behavioral skills. Pet Therapy (PT)

is a treatment that has been proved to work well

especially with ID children, leading to

improvements in various spheres. According to

current research [1], PT helps ID subjects to

release their often persistent state of anxiety and

improves relaxation, as human-animal bond acts

on “stress hormones” production, inducing a

reduction of arterial pressure, cardiac and

respiratory rates. Some studies have found that 5-

and 6-year-olds who were more attached to their

pets expressed more empathy toward peers and

that 7- to 10-year-olds who had more “intimate

talks” with their pets also had more empathy

toward their peers (Bryant, 1985). Many

beneficial, even if indirect effects arise from the

presence of an animal in the ID child’s life. To care

for pet “virtual” alimentation, for example, leads to

care also for one’s alimentation.

The use of interactive technology to provide

alternative, “virtual” forms of Pet Therapy has

been explored in research since late nineties. The

pioneer in this field is PARO [3], a stuffed robot

shaped like a baby harp seal and equipped with

five kinds of sensors - tactile, light, audition,

temperature, and posture sensors - with which it

can perceive people and its environment. PARO

can recognize light and dark. He feels being

stroked and beaten by tactile sensor, or being held

by the posture sensor. PARO can also recognize the

direction of voice and words such as its name,

greetings, and praise with its audio sensor. By

interaction with people, PARO responds as if it is

alive, imitating the voice of a real baby harp seal

and moving its head and legs [4]. PARO, now a

commercial product, has been proved to have

psychological, social, and physiological positive

effects especially on elderly ID people and has

Page 194: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice B

176

advantages over real animals in PT: there are no

infections to worry about, no one is afraid of a

stuffed animal, and PARO can be used in

environments such as hospitals and extended care

facilities where live animals present treatment or

logistical difficulties. In our research, we have

extended the PARO approach and developed a

“smart” stuffed dolphin called Sam that engages ID

children in a variety of play tasks. Sam’s

affordances and behavior has been designed for

this specific target group in cooperation with a

team of therapists from SAM Foundation, a non-

profit institution in The Netherlands that offers

dolphin therapy at a local dephinarium to over 800

children with chromosomal deviations and/or

autistic disorder per year.

The choice of dolphins for Pet Therapy has been

based on a number of factors [3]: positive image of

these animals in the general population (big,

protective, friendly aquatic mammals, intelligent

and communicative); their curiosity; their

capability of sustaining complex interaction with

humans, accepting physical contact, including

hugs, caresses and kisses; their general

cooperative and playful attitude. The therapetic

programme at SAM Foundation has been proved

effective to support relaxation, stimulate and help

increase children’s emotional, cognitive, social and

physical development. Still, dolphin therapy is

extremely expensive, requiring over 1.000 euro

per therapeutic session. The challenge of our smart

dolphin is to offer a cost-affordable tool that

enables the replacement of some animals-based

activities, so reducing treatment costs while

preserving the benefit of dolphin therapy.

DOLPHIN SAM

Technology Dolphin Sam is a stuffed toy enhanced with

complex system made up of several embedded

sensors and actuators (Figure 1 a-b) and external

components (Figure 1 c-d, Figure 3). Four parts of

the body (head, stomach, right and left fins) are

integrated with four touch sensors. There are light actuators on the stomach and a speaker and an

RFID reader into the mouth. Eyes and mouth movements are controlled by two different motors.

In addition, a low-cost ESP8266 chip is used for

Wi-Fi communication. All embedded components

are connected and managed by an Arduino module

which manages also the communication between

the smart dolphin and the external components.

The latter consist of commercial smart lights

(Philips Hue), tagged RFID cards and a web application. The web component (Figure 2)

manages the multimedia contents on digital

displays or ambient projections, and the

customization functions

The User Experience The UX with Sam has been designed to promote

and increase some basic skills in the cognitive,

emotional and social spheres that are under-

developed in ID children’s:

to relax and reach the mental status of relaxation,

to exercise selective and sustained attention (in particular to audio and visual signals),

to explore and understand cause-effect relationships,

to interpret visual contents at different levels of complexity,

to understand elementary abstract concepts, to exercise control and make choices, to build affective bonds with objects and with

humans.

These goals are intended to be achieved by

orchestrating the different features of the Sam

system into a set of gaming activities. Differently

from PARO, Sam does not support sophisticated

dialogic features but game play goes beyond the

interaction with the smart toy: it involves effects in

the physical space – through lights and multimedia

contents shown on digital displays or immersed in

the ambient via projections – potentially enabling

an infinite set of play opportunities. A child can

interact with Sam by touching or caressing its

head, stomach and fins. She can also “feed” the

dolphin by inserting a food card (a tagged RFID

card with a food image or PCS symbol [2]) into its

mouth. In response to these interactions, Sam

emits different stimuli (sound, vibration, and

lights) with its body, while ambient lights are

turned on or change color and intensity, and

multimedia animations or videos appear in the

Page 195: DOLPHIN SAM: A SMART PET FOR CHILDREN WITH ......games to meet the special needs of each child. The dolphin can be used in autonomous mode, performing a set of default behaviours,

Appendice B

177

ambient or change state, to offer feedbacks,

rewards, or suggestions for new tasks to be

performed.

Game Example 1: “Wake up!” - Sam is sleeping, his

eyes are closed, and he is snoring. A video of a

night seascape is shown in the environment while

lights are blue (Figure 3). The child is asked to

caress dolphin and wake it up it. Sam opens his

eyes, emits “wake up” sounds, moves its mouth,

while a sunrise on the sea is projected and

environment lights turn to a carousel of sunrise

colors.

Game Example 2: “I am hungry!” - A screen

displays the image of a small fish and Sam asks the

child to give him this food. The child must select,

among a set of RFID tagged cards, the one showing

the image of that fish, and put it into Sam’s mouth.

If the child performs this task correctly, the

dolphin thanks him, moves the mouth like eating,

and emits chewing sounds, while visual rewards

are displayed in the ambient.

Figure 1. Sam features: a) hardware board; b) body

light; c) integration with multimedia animations

An interactive video can be seen on: www.i3lab.me

Game Customization - Sam games are integrated

with a web application that provides a set the

customization function. These enable therapists to

personalize existing games – customizing Sam’s

behaviour and multimedia contents to meet the

specific needs of each single child, and define new

combinations of interactions and stimuli on Sam

and in the ambient that offer a new games

opportunities. Using a simple interface (Figure 2) they can include/replace any video, animation or

image in the game, include/replace any behaviour

of the smart object using a library of build-in

features.

Figure 2. Customization Interface

Figure 3. Playing with Sam

CONCLUSIONS Sam extends the capability of the existing smart

pets in a number of directions, making it unique: i)

it provides multisensory stimuli both on the object and in the ambient; ii) its play activities are not

restricted to the interaction with the smart toy but

also involve the experience of lights and

multimedia contents in the physical space; iii) it

offers powerful customization features, addressing the fundamental need of offering personalized play

experiences to each child to address his or her

unique need. Sam has been evaluated in an

exploratory study at a local therapeutic center.

From Summer 2016, it will be integrated with the

Dolphin Therapy program at SAM Foundation (NL)

for a more systematic testing.

REFERENCES [1] Brodie, S.J., Biley, F.C.. Review: An exploration of the potential

benefits of pet-facilitated therapy. Journal of Clinical Nursing, 8,

329-337, 1999

[2] F. Garzotto, M. Bordogna. Paper-based multimedia interaction as

learning tool for disabled children. Proc. 10th Interaction Design and

Children (IDC 2010). ACM, 79-88.

[3] S. McGlynn, B. Snook, S. Kemple, T. L. Mitzner, W. A. Rogers. Therapeutic robots for older adults: investigating the potential of

PARO Proc. 2014 ACM/IEEE Conf. on Human-robot

interaction (HRI '14). ACM, 246-247 [4] E. Salgueiro et al. Effects of a dolphin interaction program on

children with autism spectrum disorders – an exploratory research.

BMC Research Notes 2012, 5:1999

b a c

Smart

light

Ambient

proiection


Recommended