DI RECENTE ACCOMAZZI...
CERCA
» Ricerca avanzata
MAILING LIST

Se vuoi iscriverti alla mailing list di Luca Accomazzi inserisci qui la tua mail:

Vuoi ricevere i messaggi immediatamente (50 invii / giorno) o in differita e in gruppo
(due invii / giorno)?

» Vuoi saperne di più?

Lego mindstorm NXT

 

Parecchi anni fa Lego, la compagnia danese produttrice dei mattoncini da costruzione più famosi al mondo, pensò bene di espandere la sua gamma di prodotti verso l'alto con un kit pensato per ragazzini brillanti e papà volonterosi. L'idea era di fare un mattoncino intelligente, programmabile, collegato al mondo reale da alcuni sensori e al computer da un cavo. Il Lego Mindstorm (che non venne mai distribuito in Italia) piacque molto, anche se non era certo privo di difetti: il principale, per quanto ci riguarda, era la sua incompatibilità con Macintosh. Si sviluppò però una comunità di appassionati molto attiva su Internet, che produsse alcuni splendidi progetti di robot, costruibili con il kit Lego ma molto più avanzati di quelli che la casa danese suggeriva di costruire nel manuale di istruzioni. Così, un paio d'anni fa, quando venne il momento di progettare la nuova versione, i danesi ebbero la buona idea di coinvolgere un centinaio di appassionati di tutto il mondo nel processo decisionale: molto più che semplici beta tester, questi collaboratori hanno suggerito quali sensori e quali mattoncini inserire nel kit, hanno semplificato i progetti di costruzione e reso più sofisticati i robot che ne escono. E insistito per la compatibilità con OS X. Ecco dunque Mindstorm NXT, la nuova generazione, fornita di software per Macintosh (richiede Mac OS X 10.3.9 o superiore).


Apriamo la scatola

La confezione contiene oltre cinquecento pezzi di Lego serie Technic: per capirci, non sono i classici mattoncini colorati ma ingranaggi, longheroni, viti e bulloni, snodi e guarnizioni e via dicendo. Ci sono due palline colorate, che fungeranno da obiettivo in alcuni esperimenti, e un grande poster che stenderemo sul pavimento e useremo come campo di battaglia. Soprattutto però dalla scatola escono tre servomotori elettrici, un sensore a ultrasuoni che percepisce il movimento sino a due metri e mezzo di distanza, un sensore di suoni, un sensore ottico in tinte di grigio, un sensore di pressione. Più naturalmente il "mattoncino inteligente": assomiglia per forma e dimensioni a un iPod delle prime generazioni, ma è un computerino con processore a 32 bit, display grafico in bianco e nero, altoparlantino mono, pulsanti, connettori per tutti i sensori e motori citati, connettore USB e Bluetooth.
Per realizzare il vostro primo robot, un piccolo veicolo su ruote, non serve altro e in mezz'ora circa avrete per i piedi un attrezzo ideale per basire il gatto di casa. Ma è solo l'inizio. Per procedere dovrete installare sul Mac il software -- naturalmente fornito su CD, ma converrà collegarsi al sito Lego per scaricarne la versione più recente, compatibile Leopard e nativa sia su PowerPC che su Intel.


Dallo scorpione ad Alpha Rex

Il software Mindstorms per Mac inizialmente si comporta come un libro di istruzioni e mostra passo passo come costruire i quattro robot progettati da Lego per noi: un veicolo con ganasce (vedere "Ti vedo e ti prendo), una gru, uno scorpione e un robot umanoide che cammina. Quando la costruzione è completa, sullo schermo appaiono le istruzioni di programmazione: ogni passo ha la forma di una icona-mattoncino, che si combina alle altre un po' come i passi di un flusso Automator. La programmazione dunque avviene trascinando a video le icone, combinandole (prima cammina, poi parla, poi aspetta un rumore, poi vai avanti ma se mentre vai avanti tocchi un oggetto allora...) e cliccandole per configurarle (il rumore deve essere superiore a una certa soglia, cammina di quattro passi...)
Proprio come per la parte meccanica possiamo eseguire e ripetere quanto proposto da Lego oppure improvvisare un po' e fare qualche variazione sul tema. Alla fine il software per Mac compila il programma e lo spedisce al mattoncino intelligente attraverso un cavo USB fornito. È possibile anche la connessione senza fili Bluetooth, che però diviene davvero interessante in seguito, per pilotare il robot quando si sta già muovendo. Oltre che dal Mac, l'interazione in questo caso può avvenire anche da un cellulare, preferibilmente Nokia.
La caratteristica migliore del sistema di programmazione visuale concepito da Lego sta nella assoluta e intuitiva semplicità con cui permette di realizzare il parallelismo: i nostri robot possono simultaneamente camminare, parlare e tenere d'occhio l'ambiente circostante. Ci è sufficiente tratteggiare file parallele di icone


Il pelo nel robot

Il prodotto Lego è ottimo, ma non perfetto. La azienda danese ha scelto di fornire le istruzioni in inglese, tedesco, francese, danese e giapponese ma non nella nostra lingua. Le istruzioni di costruzione sono grafiche, nello stile reso famoso dai mobili dell'Ikea, ma se volete accedere alla massa di progetti sul sito Internet o ai numerosi libri disponibili (una buona fonte: il sito amazon.co.uk) dovete masticare la lingua d'Albione.
Il mattoncino intelligente è molto flessibile ma non espandibile: i 256 kB di memoria interna si riempiono quando vi cimentate in progetti molto complessi e vi tocca di cestinare grafica e suoni non indispensabili. Il software è semplice da usarsi ma deriva dal progetto Mozilla: è sostanzialmente un browser web modificato, che mostra tutto quel che c'è da fare dentro una singola finestra, costringendovi a volte a un certo sforzo per vedere bene come si procede in una costruzione. In una occasione ci è andato in crash.


Estensioni di sistema

Sin qui abbiamo descritto un giocattolo per bimbi grandicelli (sopra i dieci anni) e per entusiasti certamente originale, intelligente (e costoso). Va però detto che quando Alpha rex, il modello più complesso descritto nella confezione, è completo, il gioco non è finito. Lego sarà lieta di venderci altri e più sofisticati sensori, tra cui una bussola, un giroscopio e un sensore ottico a colori. Soprattutto, sul sito della casa, come abbiamo anticipato, è molto attiva una comunità di appassionati che ha già prodotto un centinaio di modelli di robot alternativi. Ce n'è di tutti i colori: dall'antifurto allo scanner al veicolo di Guerre Stellari. Alcuni, come l'ultimo citato, richiedono l'acquisto di altri e differenti kit Lego: i più complessi richiedono due kit NXT, due mattoncini intelligenti che comunicano tra loro via Bluetooth.
C'è di più. Se la programmazione non vi spaventa, e magari vi attrae, non sarete stupiti nello scoprire che alcuni appassionati sono rimasti frustrati dai limiti del semplice metodo proposto da Lego e hanno realizzato veri e propri compilatori alternativi per il Mindstorm NXT. Una buona introduzione al tema si trova sulla Wikipedia di lingua inglese alla voce "Lego Mindstorms NXT": diciamo comunque che si tratta di linguaggi basati sul C o sul Java, dunque generano più compatti e veloci rispetto a quelli che si ottengono con il sistema base di Lego. I più sofisticati e complessi richiedono di sostituire il firmware che Lego ha posto sul mattoncino intelligente e rimpiazzarlo con un altro sistema scritto ad hoc.


Questo articolo fa parte di uno dei miei percorsi. Se vuoi saperne di più su questo argomento, visita il resto del percorso cliccando qui.