Lego Mindstorms NXT

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
NXT-Stein

Lego Mindstorms NXT ist ein Steuerungscomputer der Produktserie Lego Mindstorms. Er besitzt Anschlüsse für mehrere Sensoren und Aktoren, sowie USB- und Bluetooth-Schnittstellen. Der Computer kann über spezielle Programmiersprachen am PC programmiert werden. Der NXT wurde Anfang 2006 auf der Messe Consumer Electronics Show vorgestellt und ist seit Oktober 2006 in Deutschland erhältlich.

Besondere Merkmale[Bearbeiten]

Mindstorms-Roboter (NXT 1.0)

Die Hauptmerkmale sind ein ARM-Prozessor sowie neuentwickelte Geräusch- und Ultraschall-Sensoren[1]. Außerdem lässt sich ein damit ausgerüsteter Roboter auch mit einem Mobiltelefon oder mit einem Computer per Bluetooth fernsteuern. Des Weiteren ist es möglich, ein mit Kamera ausgerüstetes Mobiltelefon als Kamerasensor zu nutzen.
Die hierzu erforderliche Software kann von der LEGO-Mindstorms-Website[2] heruntergeladen werden. Dokumentationen, Software-Aktualisierungen, Software-Developer-Kits (SDK) und die Quellcodes der Firmware (ab Dezember 2006) sind dort ebenfalls zu finden.

Versionen[Bearbeiten]

Das Mindstorms-NXT-Set (8527, Standardversion) ist seit Oktober 2006 in Deutschland erhältlich. Mittlerweile ist die Version 2.0 des NXT-Systems mit dem Set 8547 erhältlich. Bei diesen Versionen liegt die Software dem Set bei. Außerdem gibt es noch das Education Basis Set(9797), welches eine besonders für den Schulalltag optimierte Version in einer robusten Kunststoffkiste darstellt. Die Software muss hier, im Gegensatz zu den anderen Versionen, separat erworben werden.

Am 7. Januar 2013 stellte LEGO auf der CES das Nachfolgersystem Mindstorms EV3 vor, welches Motor- und Sensorkompatibilität mit dem NXT aufweist. Zusätzlich wurde gegenüber dem NXT der Ultraschall- durch einen Infrarot-Abstandssensor ausgetauscht und ein Gyrosensor hinzugefügt. Das neue Modell kam im September 2013 auf den Markt.[3][4]

Grundausstattung[Bearbeiten]

Das Lego-Mindstorms-NXT-Set enthält:

  • einen programmierbaren NXT-Stein mit 32-Bit-Mikroprozessor, Real-Sound-Lautsprecher, Bluetooth- und USB-Anschluss, vier Sensor- und drei Motoranschlüsse,
  • drei Servomotoren mit eingebauten Rotationssensoren, Genauigkeit 1°
Motor mit eingebautem Drehsensor
  • einen (NXT 1.0) bzw. 2 (NXT 2.0) Tastsensoren (Bild)
  • Ultraschallsensor (Bild) Er kann den Abstand zwischen sich und einem Objekt messen. Der Messbereich liegt zwischen 6 cm und 255 cm.
  • Lichtsensor (Bild) (NXT 1.0) bzw Farbsensor (NXT 2.0)
  • Schallsensor (Bild) (nur NXT 1.0)
  • sieben 6-Draht Anschlusskabel (davon 1x 20cm, 4x 35cm und 2x 50cm)
  • 619 Lego-Technik-Elemente
  • Bauanleitungen
  • Test-/Kalibrierungsunterlage
  • NXT-G, eine grafische integrierte Entwicklungsumgebung für die Betriebssysteme Windows und Mac OS X
  • USB-Kabel.

Die mitgelieferte Programmierumgebung NXT-G v1.0 wurde in Zusammenarbeit mit National Instruments entwickelt und basiert auf der graphischen Programmiersprache LabVIEW. Seit dem 5. Dezember 2006 ist ein spezielles Toolkit von National Instruments erhältlich, mit welchem die Programmierung auch direkt in LabVIEW ab der Version 7.1 erfolgen kann. Bei der inzwischen erschienenen NXT-G v2.1 ist eine direkte Programmierung in LabVIEW aber nicht mehr möglich.

Hardware-Spezifikationen des NXT-Steins[Bearbeiten]

  • Atmel-ARM-Prozessor, AT91SAM7S256; 256 kB Flash-Speicher, 64 KB RAM, 48 MHz
  • Koprozessor: Atmel 8-Bit AVR, ATmega48; 4 KB Flash-Speicher, 512 Byte RAM, 8 MHz
  • Bluetooth: CSR BlueCore 4 v2.0 +EDR; unterstützt das Serial Port Profile (SPP), 26 MHz
  • USB-2.0-Anschluss, 12 Mbit/s
  • 3 Motorausgänge mit Rückkanal
  • 4 Sensoreingänge, analog und digital (I²C) kombiniert
  • der vierte Eingang kann als High-Speed-Port, entsprechend IEC 61158 Type 4/EN 50170, genutzt werden
  • Punktmatrix LC-Anzeige; 100 × 64 Pixel, Abmessungen: 26 × 40,6 mm
  • Soundausgabe mit 8-Bit-Auflösung und einer Samplingrate von 2 bis 16 kHz
  • Open Source Firmware.

Verbindungskabel[Bearbeiten]

Kabel

Die aktuelle NXT-Grundpackung (Set 8547) und das Erweiterungsset (Set 9695) enthalten zusammen sieben NXT-Verbindungskabel. (Set 8547: 7x Kabel, Set 9695: kein Kabel) [5]

Es handelt sich um ein sechspoliges Kabel mit einer Art RJ12-Stecker. Der einzige Unterschied zu einem RJ12-Stecker besteht darin, dass die Verbindungsnase seitlich und nicht mittig sitzt.

Es gibt auch Adapterkabel (Set 8528) zu den alten Verbindungskabeln des RCX. Somit können alle analogen Sensoren des RCX (Vorgänger des NXT) benutzt werden, allerdings wird hierfür bei der Standard-Programmierumgebung "NXT-G" ein (kostenloses) Update benötigt, damit die Sensoren angesprochen werden können.

Belegung der Buchse[Bearbeiten]

Pinnummer 1 2 3 4 5 6
Funktion Analog IN bzw. +9 V GND GND +4,3 V I2C-SCL bzw. RS485-A I2C-SDA bzw. RS485-B

Zubehör[Bearbeiten]

Alle Sensoren und der NXT-Stein selbst sind auch einzeln erhältlich.

  • Set 9798 Akku (9 V); 1400 mAh dazu passend 9833 Trafo
  • Set 9693 Akku (10 V); 2100 mAh dazu passend 8887 Trafo
  • Set 8529 enthält sieben NXT-Verbindungskabel; einmal 20 cm, viermal 35 cm, zweimal 50 cm
  • Set 8528 enthält drei Adapterkabel für RCX-Motoren und -Sensoren
  • Set 9797 Die Schulversion (431 Teile) des Mindstorms-NXT-Sets enthält seit 07/2010 einen 2100-mAh-Lithium-Ionen-Akku und drei Adapterkabel für den Anschluss von Lampen und älteren Motoren und Sensoren, Lego-Technik-Elemente. Die Software muss separat erworben werden, ist allerdings auch eine erweiterte Schulversion: LEGO 2000080. Sie enthält einen Robot-Educator (Lernprogramme mit 3D-Animationen), DATA Logging (Messdatenerfassung).

Außerdem gibt es mittlerweile diverse Sensoren von anderen Firmen, die nicht direkt von der NXT-G unterstützt werden. LEGO bietet mittlerweile aber eine Aktualisierung für NXT-G an, mit der man Blöcke dieser Sensoren einbinden kann.

Eine Sonderstellung hat hier die Firma HiTechnic, die seit dem 17. September 2007 offiziell mit LEGO zusammenarbeitet. HiTechnic hat die Erlaubnis erhalten, das offizielle Sensorengehäuse von LEGO zu verwenden. Außerdem vertreibt LEGO diese Sensoren nun auch selbst. Folgende Sensoren von HiTechnic wurden von LEGO ins Programm aufgenommen:

Lego verkauft auch den RFID-Sensor der Firma Codatex

Programmierung[Bearbeiten]

Ultraschall-Entfernungsmesser

Neben der von Lego bereitgestellten grafikbasierten Programmierumgebung NXT-G, die mit integrierten Schritt-für-Schritt Programmieranleitungen von allen Grundfunktionalitäten mitgeliefert wird, existiert eine Vielzahl alternativer Programmiermöglichkeiten.

Alternative Programmiersprachen[Bearbeiten]

Alternative Programmiersprachen ermöglichen es, eigene Programme zu schreiben und zu kompilieren, die wie die NXT-G-Programme direkt auf dem NXT laufen. Teils kommt hierfür eine eigene Firmware zum Einsatz, teils kann die Original-Firmware weiterverwendet werden.

  • NBC (Next Byte Code) ist eine Sprache mit Assembler-ähnlicher Syntax
  • NXC (Not eXactly C), eine Sprache mit C-ähnlicher Syntax
  • leJOS, ein Java-Betriebssystem für NXT und RCX
  • nxtOSEK, ein Echtzeit-Betriebssystem, das als einziges die native Ausführung von C- und C++-Code ermöglicht
  • pbLua, eine Lua-Implementierung
  • RobotC, von Robotics Academy vertriebene Sprache mit einer an C angelehnten Syntax
  • LabVIEW, LabVIEW-Toolkit für LEGO MINDSTORM NXT (Robolab)
  • Enchanting, Ein auf Scratch/BYOB basierendes Toolkit, das LeJos als Firmware verwendet, für NXT
  • nxt, eine für Microsoft Touch Develop entwickelte Bibliothek, um das NXT direkt auf dem Windows Phone zu programmieren

Ferngesteuerte Programmierung[Bearbeiten]

Zur ferngesteuerten Programmierung werden Bibliotheken für Programmiersprachen angeboten, die den NXT über eine Bluetooth- oder USB-Verbindung fernsteuern können. Das Programm selbst läuft hierbei auf dem fernsteuernden Rechner. Hierzu zählen unter anderem:

  • MindSqualls, eine Programmbibliothek für .NET, um Programme zu entwickeln, die den NXT per Bluetooth fernsteuern
  • AForge.NET, enthält eine Programmbibliothek ähnlich MindSqualls
  • MonoBrick, eine LEGO Mindstorms Kommunikation Bibliothek in C# die es erlaubt Programme zu entwickeln, welchen den NXT über eine Bluetooth- oder USB-Verbindung fernsteuern
  • RWTH - Mindstorms NXT Toolbox [6], Bibliothek (sowie Dokumentation und Beispiele), um den NXT aus MATLAB per Bluetooth oder USB zu steuern
  • MIT App Inventor (ehemals "Google App Inventor"), erlaubt die Entwicklung von Programmen für das Betriebssystem Android und stellt auch Komponenten [7] zur Verfügung, mit denen sich der NXT per Bluetooth fernsteuern lässt

Entwicklungsumgebungen[Bearbeiten]

  • BricxCC (Bricx Command Center), Entwicklungsumgebung für NXC und NBC
  • Microsoft Robotics Studio 1.5, Visuelle Entwicklungsumgebung und 3D-Testumgebung für diverse Hardware-Plattformen (u.a. Lego Mindstoms NXT)
  • ROBOLAB ab Version 2.9
  • Tuxminds, visuelle Entwicklungsumgebung für diverse Hardware-Plattformen (Lego, Asuro, ...)

Simulationsumgebungen[Bearbeiten]

Nachfolgesystem Mindstorms EV3[Bearbeiten]

Am 7. Januar 2013 präsentierte Lego auf Consumer Electronics Show ein neues Mindstorms-System namens EV3, die erste offizielle Ankündigung stammt vom 04.01 [8]. EV3 ist eine Weiterentwicklung (Evolution) des LEGO Mindstorms NXT Systems [9]

  • Laut einem Blogbeitrag vom 27. Oktober 2013 läuft die embedded-Version emDebian/ev3dev von Debian 7 (Wheezy) auf dem EV3 [10].

Wettbewerbe[Bearbeiten]

Mit dem Lego Mindstorms System werden verschiedene Wettbewerbe wie zum Beispiel die World Robot Olympiad[11] bestritten. Ein regelmäßig stattfindender Wettbewerb für Schülerinnen und Schüler, der in verschiedenen Teilen der Welt ausgetragen wird, ist die First Lego League[12]. Weitere Wettbewerbe sind z. B. der RoboCup oder RoboRace der Universität Stuttgart.

Quellen[Bearbeiten]

  1. Hardwarespezifikation des LEGO NXT Systems (Version vom 27. Juni 2011 im Internet Archive)
  2. LEGO-NXT-Website
  3. Mindstorms EV3: Lego kündigt neuen Robotikbaukasten an. 7. Januar 2013, abgerufen am 18. September 2013.
  4. Lego Mindstorms ist kein Kinderspielzeug. LEGO EV3. Zeit Online, 15. September 2013, abgerufen am 18. September 2013.
  5. http://www.kinder-technik.de/wp-content/uploads/2013/01/extension2.jpg
  6. RWTH - Mindstorms NXT Toolbox
  7. LEGO MINDSTORMS - App Inventor for Android
  8. http://mindstorms.lego.com/en-us/News/ReadMore/Default.aspx?id=476243
  9. EV3-Überblick
  10. http://hempeldesigngroup.com/lego/2013/10/27/debian-7-wheezy-running-on-lego-mindstorms-ev3/
  11. Webseite zur World Robot Olympiad von "TECHNIK BEGEISTERT e. V.":World Robot Olympiad
  12. Webseite für Zentral-Europa von "Hands On Technology": first lego league

Literatur[Bearbeiten]

  • Fraunhofer IAIS (2007): Roberta - Grundlagen und Experimente für Lego Mindstorms NXT (deutschsprachig). Fraunhofer Verlag IRB, ISBN 978-3-8167-7807-3
  • Mario Ferrari et al. (2007): Building Robots with Lego Mindstorms Nxt (englischsprachig). Syngress Media, ISBN 978-1-59749-152-5
  • Daniel Braun (2009): Roboter programmieren mit NXC für LEGO MINDSTORMS NXT (deutschsprachig). Mitp-Verlag, ISBN 3-8266-5070-0
  • Matthias Paul Scholz (2012): Roboterwesen bauen und programmieren: Ein Einstieg in LEGO MINDSTORMS NXT (2. überarbeitete Auflage). mitp, ISBN 978-3-8266-9446-2
  • Trella Sebastian, Leimbach Thorsten: "Roberta Programmieren mit LabVIEW", 1. Auflage Mai 2014, ISBN 978-3-8396-0692-6

Weblinks[Bearbeiten]

 Commons: Lego Mindstorms – Sammlung von Bildern, Videos und Audiodateien