"Golf bot", robot costruito con il kit NXT

LEGO Mindstorms NXT è un kit robotico programmabile sia da computer sia manualmente, messo in commercio dalla LEGO alla fine del luglio 2006.[1] Rimpiazza il kit LEGO Mindstorms di prima generazione, che era chiamato Robotics Invention System. Il kit base è composto da due versioni: The Retail Version[2] e The Education Base Set.[3] Questi possono essere utilizzati per competere nelle gare FIRST Lego League. Viene utilizzato soprattutto con il linguaggio di programmazione NXT-G, ma esiste una gran varietà di altri linguaggi come: NXC, NBC, RobotC, e BricxCC. Una nuova versione del set, Mindstorms NXT 2.0 è stata annunciata nel gennaio 2009; questa vanta un sensore avanzato a colori e parecchie caratteristiche migliorate. Questo set è stato disponibile prima in Gran Bretagna e Germania nei negozi on-line Lego; successivamente (1º agosto 2009) ha iniziato a vendere negli USA ed è numerato 8547.

Il mattone NXT

[modifica | modifica wikitesto]
NXT brick

Il componente principale del kit è il computer a forma di mattone chiamato "NXT brick" (brick vuol dire mattone in inglese). Può ricevere l'input da un massimo di quattro sensori e controlla fino a tre motori elettrici, attraverso cavi RJ12 molto simili, ma incompatibili con i cavi del telefono RJ11. Il "mattone" ha un display LCD monocromatico di 100x64 pixel e quattro pulsanti che possono essere utilizzati per navigare nell'interfaccia utente a menu gerarchici. Esso ha anche un altoparlante che può riprodurre file sonori campionati a 8 kHz. La corrente è fornita nella versione per utenti normali da 6 batterie AA (1.5 V ognuna) mentre nella versione "educational" da una batteria ricaricabile Li-Ion e il relativo carica batterie.

Specifiche tecniche

[modifica | modifica wikitesto]

Possono essere usati anche altri software.

Firmware e kit di sviluppo

[modifica | modifica wikitesto]

LEGO ha distribuito il firmware per l'NXT Intelligent Brick come Open Source.[4]

Sono disponibili parecchi kit di sviluppo che contengono documentazione per l'NXT:

Programmazione

[modifica | modifica wikitesto]

Programmi molto semplici possono essere scritti usando il menu dell'NXT. Programmi più complicati e file sonori possono essere scaricati usando la porta USB o senza fili usando il Bluetooth. I file possono anche esser copiati tra due NTX brics diversi attraverso l'interfaccia wireless, inoltre diversi telefoni cellulari possono essere utilizzati come telecomando per comandare da remoto il sistema. Fino a quattro NXT brick possono comunicare simultaneamente attraverso Bluetooth quando sono eseguiti programmi generati dall'utente.

La versione retail del kit include software per scrivere programmi che possono essere eseguiti su PC e Macintosh. Il software è basato su LabVIEW di National Instruments e fornisce un linguaggio di programmazione visuale per scrivere semplici programmi e per farne il download sul "mattone" NXT.

NXT-G

[modifica | modifica wikitesto]

NXT-G v1.0 è il software di programmazione che si trova incluso con l'NXT. Ci sono due differenti interfacce di programmazione. Una è inclusa con i kit retail ed educational e l'altro può essere comprato separatamente. Questo software è adeguato per la programmazione base, come guidare i motori, collezionare gli input dei sensori, fare calcoli e imparare strutture di programmazione semplificate e controlli di flusso. Riportiamo qui alcuni vantaggi/svantaggi nell'utilizzo della versione 1.0 di questo software:

Pro:

  • NXT-G è semplice da installare su macchine Windows XP e Vista, ed è anche supportato il Mac OS X.
  • NXT-G può trasferire i dati via Bluetooth o attraverso l'incluso cavo USB.
  • NXT-G fornisce un ambiente grafico facile da usare di tipo drag and drop.
  • I grafici includono l'installazione dei cavi che mostrano il flusso dei dati da blocco a blocco.

Contro:

  • i Programmi NXT possono essere molto più grossi di identici programmi sviluppati con un linguaggio di programmazione fornito da terze parti (es: 12 kiB contro 2 kiB).
  • I programmi prendono sostanzialmente tempi più lunghi di caricamento rispetto programmi di terze parti.
  • Quando si creano programmi di grosse dimensioni, NXT-G tende ad andare in crash e a perdere i dati non salvati.
  • Il software NXT-G solitamente è lento in fase di esecuzione, perfino su PC potenti.

La maggior parte di questi problemi sono stati risolti con la versione v1.1 del software NXT-G.[5]

LabVIEW Toolkit

[modifica | modifica wikitesto]

NXT-G è basato su LabVIEW, uno standard industriale della programmazione. Creato da National Instruments, LabVIEW usa una programmazione a flusso di dati (data flow) per creare uno strumento virtuale. Per permettere una programmazione più avanzata, in senso grafico, National Instruments ha prodotto un Toolkit per l'NXT. La versione 1.0 è in vendita dal dicembre 2006. Dalla data di distribuzione, sono stati trovati parecchi bugs e sono stati creati nuovi sensori. Mentre il toolkit permette la creazione di nuovi sensori, National Instruments non ha ancora formalmente distribuito un aggiornamento.

Next Byte Codes & Not eXactly C

[modifica | modifica wikitesto]

Next Byte Codes (NBC) è un semplice linguaggio open source con una sintassi da linguaggio assembly che può essere usato per programmare il "mattone NXT".

Not eXactly C (NXC) è un linguaggio open source di alto livello[6], simile al linguaggio C, costruito a partire dal compilatore NBC. Esso può essere anche usato per programmare il mattone NXT. NXC è essenzialmente l'NQC per l'NXT.[7]

RobotC

[modifica | modifica wikitesto]

RobotC è un altro linguaggio di programmazione basato sul linguaggio linguaggio C per il Vex, il First Tech Challenge, e il Lego Mindstorms.

URBI

[modifica | modifica wikitesto]

URBI è un linguaggio parallelo e guidato dagli eventi (event-driven) con interfacce verso il C++/Java e il MATLAB. Ha anche una architettura a componenti (UObject) per il calcolo distribuito. Urbi è compatibile con molti robot come il NAO (vedi Robocup), Bioloid o Aibo.[8].

leJOS NXJ

[modifica | modifica wikitesto]

leJOS NXJ è un linguaggio di alto livello open source basato sul linguaggio Java che usa un firmware ad-hoc sviluppato dal team leJOS.[9]

LEJOS OSEK

[modifica | modifica wikitesto]

Per riuscire a scrivere in C/C++, può essere usato il LEJOS OSEK. Anche in questo caso è richiesto un firmware ad-hoc.[10]

[modifica | modifica wikitesto]

FLL NXT Navigation

[modifica | modifica wikitesto]

FLL Nxt Navigation Archiviato il 24 dicembre 2017 in Internet Archive. è un programma open source per aiutare i movimenti sul tavolo della competizione FLL (First Lego League). Usa file NXT-G e .txt per scrivere programmi.

Sensori

[modifica | modifica wikitesto]

Questo è quello che è incluso nel kit base del Lego Mindstorms:[11]

Questi pezzi non sono inclusi nel kit Lego Mindstorms NXT base e possono essere acquistati separatamente:[17]

I sensori vengono assemblati e programmati. Nel software Lego Mindstorms, si può decidere cosa fare con le informazioni che provengono dai sensori (per esempio, è possibile programmare il movimento del robot in avanti fino a toccare qualcosa).

LEGO vende anche un adattatore per la linea di prodotti Vernier; quest'ultima produce dispositivi per la raccolta dei dati e relativo software per l'uso in materia di istruzione.

Parti

[modifica | modifica wikitesto]

Inclusi nel kit base:

Inclusi nel set base education:

Parti addizionali vendute separatamente:

Note

[modifica | modifica wikitesto]
  1. ^ What's NXT? LEGO Group Unveils LEGO MINDSTORMS NXT Robotics Toolset at Consumer Electronics Show, 4 gennaio 2006. URL consultato il 2 maggio 2019 (archiviato dall'url originale il 15 giugno 2009).
  2. ^ 8527Mindstorms NXT Kit, in Mindstorms Website, Lego Group. URL consultato il 26 dicembre 2008 (archiviato dall'url originale il 3 febbraio 2009).
  3. ^ LEGO MINDSTORMS Education NXT Base Set, in LEGO Education Website, Lego Group. URL consultato il 26 dicembre 2008.
  4. ^ All the tools to take your LEGO MINDSTORMS NXT to the Extreme!, su mindstorms.lego.com. URL consultato il 29 marzo 2009 (archiviato dall'url originale il 6 ottobre 2009).
  5. ^ The LEGO MINDSTORMS NXT Software version 1.1 to be released in August 2007 Archiviato il 12 aprile 2009 in Internet Archive. (LEGO.com MINDSTORMS NXT News. 2007-05-07) - Retrieved 2007-06-12
  6. ^ Not eXactly C
  7. ^ NBC/NXC - NeXT Byte Codes and Not eXactly C<
  8. ^ URBI NXT Page, su gostai.com. URL consultato il 29 marzo 2009 (archiviato dall'url originale il 30 aprile 2007).
  9. ^ LeJOS, Java for Lego Mindstorms
  10. ^ SourceForge.net: nxtOSEK - Project Web Hosting - Open Source Software
  11. ^ Lego Mindstorms NXT kit base, su mindstorms.lego.com. URL consultato il 29 marzo 2009 (archiviato dall'url originale il 29 maggio 2012).
  12. ^ Servo motori
  13. ^ Sensore touch, su mindstorms.lego.com. URL consultato il 29 marzo 2009 (archiviato dall'url originale il 17 febbraio 2012).
  14. ^ Sensore luminoso, su mindstorms.lego.com. URL consultato il 29 marzo 2009 (archiviato dall'url originale il 17 febbraio 2012).
  15. ^ Sensore sonoro, su mindstorms.lego.com. URL consultato il 29 marzo 2009 (archiviato dall'url originale il 18 marzo 2009).
  16. ^ Sensore ad ultrasuoni
  17. ^ Pezzi Extra, su mindstorms.lego.com. URL consultato il 29 marzo 2009 (archiviato dall'url originale il 6 ottobre 2009).

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]