Tris-800

Dopo un anno di lavoro, finalmente ho terminato e portato in esposizione la mia ultima fatica; una scultura dinamica LEGO MINDSTORMS a tema Terminator, per la precisione un T-800 che gioca a tris.

Tutto è iniziato nel 1984, dopo aver visto il primo film di Terminator: una macchina indistruttibile che mi affascinava e terrorizzava. Con pochi pezzi LEGO, la fantasia faceva il resto. Nel 2015 ho costruito un Terminator che giocava a tris, ma nel 2024 è nata l’idea più ambiziosa: un busto interattivo capace di rispondere e giocare con il pubblico.

QUALE PUBBLICO?

Faccio parte di FVG Brick Team, un gruppo di appassionati dei mattoncini LEGO® nato nel 2014.

Ci divertiamo a creare opere e diorami, che presentiamo alle esposizioni che organizziamo nella nostra regione, il Friuli Venezia Giulia.

Partecipiamo inoltre ad eventi organizzati da altri gruppi di appassionati, sia in Italia che all’estero.

Cerchiamo di diffondere la nostra passione per i mattoncini LEGO® sia tra gli adulti che tra i bambini che vengono a visitare le nostre mostre.

E grazie a loro, la gioia di ogni evento è sia quella di incontrare di nuovo cari amici sia quella di intrattenere e far divertire il numeroso pubblico, specialmente i bambini. Ma torniamo alla mia creazione.

SALIRE SULLE SPALLE DEI GIGANTI


Ho acquistato le istruzioni del T-800 statico dello scultore cecoslovacco Martin Latta, adattandole in digitale per integrare motori, tablet e meccanismi LEGO. Per fare gli occhi realistici ho testato tutte le luci LEGO, scegliendo quelle dei sensori Mindstorms, controllati tramite LEGO NXT, il mattoncino LEGO programmabile del 2006.

La mandibola è stata una sfida: la mia doveva muoversi in modo realistico, seguendo la voce registrata ed è stata rifatta almeno quattro volte prima di arrivare alla versione definitiva. Ma sono riuscito a rispettare l’estetica di Latta.

Ho aggiunto un motore a molla per compensare il peso: ho già bruciato un motore per lo sforzo.
Per quanto riguarda il montaggio, ho dovuto più volte in corso d’opera smontare e rinforzare la struttura: pesa ben 3 kg!

IL SOFTWARE

Il software è stato sviluppato su due computer connessi in rete, uno per NXT e l’altro per Android. Ho sfruttato il rilevamento facciale nativo di Android per muovere la testa in direzione di chi sta di fronte.

IL DEBUTTO

Al suo debutto, ad agosto 2025, a causa del rumore del pubblico ho tolto il riconoscimento vocale, sostituendolo con l’interazione tramite tasti.
In seguito, ho integrato anche il gioco del tris, richiesto dai bambini. Mio fratello Riccardo ha suggerito di creare un’interfaccia in stile LEGO: l’ho progettata digitalmente e usata come sfondo dei pulsanti. Ho intenzionalmente lasciato delle combinazioni vincenti per rendere il robot disinteressato alla vittoria umana.

CARATTERISTICHE DEL SOFTWARE DEL ROBOT

TRIS-800 NXT MINDSTORMS

Linguaggio

Questo software scritto in NXC (Not eXactly C), pensato per il robot LEGO NXT, è un programma piuttosto sofisticato che simula il comportamento di un androide chiamato “T-800”.

Gestione del display

Viene visualizzata un immagine del T-800 e le informazioni aggiornate: la carica della batteria residua, i messaggi Bluetooth ricevuti, la posizione della testa, lo stato degli occhi e della bocca.

Gestione Bluetooth

Invia lo stato di carica e riceve e decodifica i comandi che sono interpretati e suddivisi in tipo e parametri (es. “F,120,180” per posizionare la testa).

Gestione hardware

Controlla contemporaneamente tre motori (due per la testa ed uno per la bocca), l’illuminazione degli occhi (sensori di luce) e l’audio del tablet tramite microfono.

Multitasking

Esegue contemporaneamente sei task: due per la posizione del collo (orizzontale e verticale), gestione messaggi Bluetooth, animazione degli occhi, posizione della bocca, stato della batteria.

Gestione della testa

Decodifica dei messaggi Bluetooth e posizionamento preciso tramite algoritmo PID con compensazione del gioco degli ingranaggi

Gestione degli occhi

Possono lampeggiare, accendersi e spegnersi. Anche gradualmente.

Gestione della bocca

Si muove in sincronia con la voce emessa dal tablet

Animazione dello spegnimento

Esegue una sequenza con movimento della bocca, centratura della testa, spegnimento e riaccensione graduali degli occhi, in sincronia con il video del tablet.

TRIS-800: CARATTERISTICHE DEL SOFTWARE DEL TABLET

T-800 CONSOLE

Linguaggio

Questo software scritto in javascript con Android Studio permette l’interazione con il pubblico e controlla il robot via Bluetooth.

Gestione dello schermo e layout

Imposta risoluzioni, orientamento orizzontale, e previene lo spegnimento dello schermo. Usa layout assoluti e lineari per costruire l’interfaccia.

Controllo fotocamera e rilevamento facciale

MIRINO TRIS-800

Attiva la fotocamera frontale e rileva volti. Disegna mirini e cerchi per evidenziare le facce rilevate, simulando la visione del T-800. NON SALVA IMMAGINI.

Riproduzione video e audio

Include un player multimediale per video (mp4) e audio (mp3). I video vengono copiati dalla cartella sorgente se non già presenti.

Bluetooth e connessione a NXT

Gestisce la connessione con un dispositivo LEGO NXT via Bluetooth. Invia comandi come movimento occhi, bocca, e animazioni. Riceve la % di carica.

Interazione utente

Crea pulsanti interattivi per comandi e gioco. I comandi attivano risposte audio, video ed azioni specifiche.

Gioco del tris (tic-tac-toe)

TRIS 800

Implementa un gioco completo con logica per mosse vincenti, difensive, casuali, e gestione delle statistiche (vittorie, sconfitte, pareggi). Alcune combinazioni vincenti del giocatore umano non vengono rilevate di proposito per simulare un comportamento imperfetto o provocatorio.

La prima versione che ho scritto del gioco del tris risale al 2015 e calcolava le possibilità di vittoria per ogni mossa futura in maniera ricursiva. Questa invece è più snella e veloce perché riconosce i pattern di gioco. La logica della mossa è:

Logging e debug

Scrive log su file, mostra messaggi di debug e statistiche su schermo. Tiene traccia delle interazioni e degli eventi

Localizzazione.

Tramite un array multidimensionale, le scritte possono apparire in tre lingue: italiano, inglese e tedesco.

Intelligenza del robot

Il robot reagisce alla presenza umana, rileva volti, gira la testa verso la persona più vicina e può persino “perdere” o “vincere” nel gioco del tris. Frasi come “Ti ho lasciato vincere” o “Ho vinto come al solito” aggiungono un tocco ironico e personalità.

AUDIO E VIDEO

La sezione audiovisiva è molto ricca.

Per i video, sono presenti ben sei spezzoni tratti dai primi tre film Terminator, che comprendono sia l’iconico “I’ll be back!” che “Hasta la vista, baby!”. Ho montato tre diversi spezzoni per la sequenza di spegnimento e riaccensione.

Per la sezione audio, ho selezionato le domande più frequenti del pubblico ed ho scritto 60 frasi diverse da far recitare a Tris-800 per accompagnare le interazioni. Sembrano tante, ma sono solo 6 minuti in tutto.

Le varie frasi e risposte danno al robot un carattere provocatorio, presuntuoso ed ironico.

CONCLUSIONE

Ci è voluto ben un anno, la maggior parte solo per creare le istruzioni digitali.

Nonostante le mie istruzioni, spesso ho dovuto cambiare strada e rifare daccapo intere sezioni per renderle più solide o funzionali: disegnando al computer mancano gravità e sforzo.

Grazie a mio figlio Sabran che ha scovato i numerosi bug ho migliorato l’interfaccia utente.

Per fortuna mia moglie Laura mi ha sostenuto in tutto il percorso, sopportando per mesi uno scheletro di Terminator che cresceva sulla scrivania. È anche grazie a lei se oggi questa scultura prende vita davanti a te.

Curiosità

I bambini sono istintivi: la maggior parte sono incuriositi, pochissimi si spaventano e tanti lo accarezzano.

Nell’era dei cellulari, sono sempre meno i bambini che sanno giocare a tris.

Quando non rileva facce, Tris-800 si mette in pausa: gli occhi lampeggiano ed appare sullo schermo un filmato in loop. Una persona si è avvicinata per guardare il filmato, la testa si è girata e Tris-800 ha iniziato a presentarsi. Il visitatore ha fatto un salto indietro per lo spavento e poi si è messo a ridere.

All’ultimo evento ha giocato quasi 400 partite di tris in due giorni: 70% pari, 15% vinte e 15% perse.

Loading