NXT
aus Wikipedia, der freien Enzyklopädie
Anfang 2006 präsentierte der Spielwarenhersteller LEGO auf der Messe Consumer Electronics Show ein neues Mindstorms-System namens NXT, einen intelligenten, programmierbaren Multi-Sensor-Baustein.
Die Hauptmerkmale sind ein 32-Bit-ARM-Prozessor sowie neuentwickelte Geräusch- und Ultraschall-Sensoren. 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[1] heruntergeladen werden. Dokumentationen, Software-Aktualisierungen, Software-Developer-Kits (SDK) und die Quellcodes der Firmware (ab Dezember 2006) sind dort ebenfalls zu finden.
Das Mindstorms-NXT-Set (8527, Standardversion) ist seit Oktober 2006 in Deutschland erhältlich.
Inhaltsverzeichnis |
[Bearbeiten] Grundausstattung
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°
- Tastsensor (Bild)
- Ultraschallsensor (Bild)
- Lichtsensor (Bild)
- Schallsensor (Bild)
- sieben 6-Draht Anschlusskabel
- 519 Lego-Technik-Elemente
- Bauanleitungen
- Test-/Kalibrierungsunterlage
- grafisches Software-Interface für Personal Computer (PC) und Apple Macintosh (Mac)
- 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.
[Bearbeiten] Hardware-Spezifikationen des NXT-Steins
- Atmel-32-Bit-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
- ein 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
- Firmware kann geändert werden
[Bearbeiten] Verbindungskabel
Die NXT-Grundpackung (Set 8527) und das Erweiterungsset (Set 8529) enthält sieben NXT-Verbindungskabel. [2]
Es handelt sich um ein 6-poliges Kabel mit einer Art RJ12-Stecker. Der einzige Unterschied zu einem RJ12-Stecker besteht darin, das 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.
[Bearbeiten] Zubehör
Alle Sensoren und der NXT-Stein selber sind auch einzeln erhältlich.
- Set 9798 Akku; 1400 mAh
- Set 8529 enthält sieben NXT-Verbindungskabel; 1x 20 cm, 4x 35 cm, 2x 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 einen 1400-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.
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:
- Infrarot-Sucher
- Infrarot-Sensor
- Kreisel-Sensor
- Farbsensor
- Beschleunigungssensor
- Kompass-Sensor
- RFID-Sensor
- Temperatur-Sensor
[Bearbeiten] Programmierung
Neben der von der Lego bereitgestellten Programmierumgebung NXT-G existiert eine Vielzahl weiterer Programmiermöglichkeiten.
[Bearbeiten] Alternative Programmiersprachen
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
[Bearbeiten] Ferngesteuerte Programmierung
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 Libary für .NET, um Programme zu entwickeln, die den NXT per Bluetooth fernsteuern
- RWTH - Mindstorms NXT Toolbox [3], Bibliothek (sowie Dokumentation und Beispiele), um den NXT aus MATLAB per Bluetooth oder USB zu steuern
[Bearbeiten] Entwicklungsumgebungen
- 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)
[Bearbeiten] Wettbewerbe
Es gibt verschiedene Wettbewerbe für Lego Mindstorms wie z. B. den RoboCup. Der größte Wettbewerb ist die First Lego League.
[Bearbeiten] Quellen
- ↑ http://mindstorms.lego.com/ LEGO-NXT-Website
- ↑ siehe inoffizielle Teileliste auf http://www.peeron.com/inv/sets/8527-1
- ↑ RWTH - Mindstorms NXT Toolbox
[Bearbeiten] Weblinks
- NBC / NXC -Homepage - Programmiersprachen mit Assembler- / C-ähnlicher Syntax
- NXT-Webseite mit weiterführenden Links und Informationen
- Deutsches Tutorial zur Programmierung des NXT mit NXC (not eXactly C) (auch für Linux)
- LeJOS-Homepage - Java-Virtual Machine für den NXT (NXJ), Beta-Stadium
- Deutsches Nationalkomitee RoboCup

