L'Istallazione
Abbiamo approfondito molteplici aspetti della tematica nelle pagine precedenti, sul gesto e la mano e infine ora esplicherò il mio progetto di tesi risultante dalle mie ricerche.
La mia idea è di dimostrare che i codici gestuali sono universali e che prescindono anche da chi o cosa faccia il gesto, esso è leggibile in ogni caso. Così ho deciso di portare un oggetto, una mano robotica che solamente richiama quella che è la forma reale della mano, ma non ne rispecchia la complessità. Dunque essa è un oggetto sterile, privo di volontà o intenzionalità, la lettura del gesto è riservata unicamente all'astante.
La progettazione
Il progetto iniziale era una mano robotica preconfezionata inserita in una struttura linea che la sorreggesse e frontalmente dei bottoni con delle emozioni. Premendo uno dei bottoni la mano avrebbe reagito “posando” per l'astante. Dunque ho iniziato lavorando su due fronti, quello teorico e una ricerca per trovare mano robotiche a prezzo contenuto. In figura il progetto iniziale.
Primo progetto
Il primo prototipo teneva conto solamente dell'aspetto estetico e concettuale, non potendo affidarsi alla materia effettiva, e così anche la progettazione dei gesti (pagina successiva) rimase vaga, seppur seguendo la teoria sulla comunicazione efficace. In un secondo momento questi sono stati modificati e ri-editati per una migliore comprensione e per esigenze tecniche materiali. Purtroppo la mano non permetteva una varietà troppo ampia di gesti e così sono stati semplificanti o sostituiti.
Primo progetto dei gesti
Inoltre si sono valutati svariati mezzi per la programmazione della stessa. Siccome si pensava all'acquisto di una mano molto complessa con maggiori movimenti, si era ritenuto interessante l'idea di poter programmare il tutto in Arduino, idea poi scartata per questioni di tempo, in quanto nella nostra facoltà non vi è un corso per questo e avrei dovuto imparare da sola un intera codificazione. Semplificando poi le idee sono arrivata alla decisione dell'uso di Theremino.
Programmazione
Una volta ottenuta la mano materiale, abbiamo potuto pensare alla programmazione.
Sono stati usati i seguenti programmi:
-
Theremino Automation: contiene il codice e unisce tutti i programmi e le impostazioni, il cuore dell'ecosistema.
-
Theremino HAL: gestisce la parte hardware del progetto, riconoscendo la scheda madre e i diversi input, li decodifica e li traduce, facendo da ponte tra programmazione e realizzazione materiale.
-
Theremino Helper: gestisce tutte le applicazioni Theremino una volta accese, dando la possibilità di spegnerle e tenere sotto controllo la CPU.
-
Theremino Slot Viewer: questa applicazione gestisce gli “slot”, ossia a ogni slot da uno a n viene collegato un motorino o un pulsante e questo non solo ci permette di controllarli, ma anche di verificare il loro status.
-
Uno starter programmato per aprire tutte le applicazioni
La programmazione è la seguente:
Le impostazioni della scheda madre e i massimi e i minimi dei singoli motorini sono le seguenti (impostate su HAL):
Su un totale di 12 slot massimi hardware, ne sono stati utilizzati 9, i primi cinque uno per dito -corrispondenti ad altrettanti motorini per i movimenti indipendenti delle dita- e quattro per i bottoni singoli.
Di seguito il codice usato come core per il funzionamento della macchina.
Come si può leggere, per ogni slot da 6 a 9 (ossia i quattro bottoni) vengono concatenati dei movimenti della mano, specificati per ogni singolo dito.
Realizzazione
La realizzazione effettiva ha portato alla luce diverse limitazioni, principalmente della mano in quanto non permette movimenti precisi e puntuali, ma essendo composta di tiranti, il risultato era abbozzato.
Conscia di questo fattore ho cercato di valorizzarla al meglio cambiandone i gesti e semplificandoli. Cercando sempre di testare i risultati con persone esterne.
Un altro problema è stata la struttura, per cui abbiamo scelto il legno per una duplice problematica monetaria e di lavorazione.
Di seguito alcune immagini del prodotto definitivo.
Speed 7
Label "Loop"
If Slot(6) > 500
Slot(1) = 1000
Slot(2) = 0
Slot(3) = 1000
Slot(4) = 1000
Slot(5) = 1000
Wait Seconds 1.5
EndIf
'
If Slot(6) = 0
Slot(1) = 0
Slot(2) = 0
Slot(3) = 0
Slot(4) = 0
Slot(5) = 0
EndIf
If Slot(7) > 500
Slot(1) = 1000
Slot(2) = 1000
Slot(3) = 1000
Slot(4) = 1000
Slot(5) = 1000
Wait Seconds 2.5
EndIf
'
If Slot(7) = 0
Slot(1) = 0
Slot(2) = 0
Slot(3) = 0
Slot(4) = 0
Slot(5) = 0
EndIf
If Slot(8) > 500
Slot(1) = 1000
Slot(2) = 0
Slot(3) = 0
Slot(4) = 1000
Slot(5) = 1000
Wait Seconds 1.5
EndIf
'
If Slot(8) = 0
Slot(1) = 0
Slot(2) = 0
Slot(3) = 0
Slot(4) = 0
Slot(5) = 0
EndIf
If Slot(9) > 500
Slot(1) = 0
Slot(2) = 0
Slot(3) = 1000
Slot(4) = 1000
Slot(5) = 0
Wait Seconds 1.5
EndIf
'
If Slot(9) = 0
Slot(1) = 0
Slot(2) = 0
Slot(3) = 0
Slot(4) = 0
Slot(5) = 0
EndIf
'
Goto Loop
Component
---
Master,
Slave,
Pin,
Pin,
Pin,
Pin,
Pin,
Pin,
Pin,
Pin,
Pin,
Pin,
Pin,
Pin,
Name
---
NoName,
MasterPins,
Servo_16,
Servo_16,
Servo_16,
Servo_16,
Servo_16,
Dig_in_pu,
Dig_in_pu,
Dig_in_pu,
Dig_in_pu,
Unused,
Unused,
Unused,
Param1
---
7,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10.
11,
12,
Param2
---
True,
1000,
1000,
1000,
0,
0,
0,
0,
0,
0,
0,
0,
0,
Param3
---
0,
0,
0,
1000,
1000,
1009,
1000,
1000,
1000,
0,
0,
0,
Param4
---
100,
100,
100,
100,
100,
100,
100,
100,
100,
1,
1,
1,
Param5
---
1208,
2507,
2528,
1569,
1932,
Param6
---
599,
1575,
1461,
209,
119,