Lego Mindstorms
Lego Mindstorms (eigene Schreibweise LEGO Mindstorms) ist der Name einer Produktserie des Spielwarenherstellers Lego, die einen programmierbaren Legostein (RCX = Robotics Command System, bzw. NXT) sowie Elektromotoren, Sensoren und Lego-Technik-Teile (Zahnräder, Achsen, Lochbalken, Pneumatik-Teile usw.) enthält, um Roboter und andere autonome und interaktive Systeme zu konstruieren und programmieren.
Einsatz
Obwohl es ein technisches Spielzeug ist, kann es ebenso (wie von Lego und dem MIT ursprünglich auch geplant) als Lehrmittel eingesetzt werden; es ist ein gutes Beispiel für ein eingebettetes System (embedded system), bei dem ein Mikrocontroller mit elektromechanischen Teilen und Sensoren zusammenarbeitet. Beinahe alle Arten von mechanischen Anlagen mit eingebetteten Systemen, von der Aufzugsanlage bis hin zu Industrierobotern, können mit Mindstorms nachgebaut werden. Eine Ergänzung zu Mindstorms stellen die Lego Spybotics dar, die einen programmierbaren Legostein mit zwei Motoren und Sensoren besitzen. Ein Vorläufer der Mindstorms-Serie waren die Cybermaster-Sets.
Legonummern
Die Mindstorms-Basiskästen haben folgende Lego-Nummern:
- Version 1.0: 9719
- Version 1.5: 9747
- Version 2.0: 3804
- NXT: 8527
- NXT 2.0: 8547
Mindstorms Robotics Invention System (RIS) 1.0 bis 2.0

Die Mindstorms-Versionen RIS 1.0, 1.5 und 2.0 unterscheiden sich hardwareseitig nur wenig: In Version 1.0 hat die "RCX"-Einheit eine Buchse für externe Stromversorgung, die in den späteren Versionen eingespart wurde; mit Version 2.0 wurde der Infrarot-Sender ("Tower"), der an den Computer angeschlossen wird, von serieller Schnittstelle auf USB-Anschluss umgestellt. Auch die Software der älteren Versionen kann durch ein Update auf den neusten Stand aktualisiert werden.
Der programmierbare Legostein RCX besitzt einen Renesas-H8/300-Mikrocontroller als CPU. Er wird programmiert, indem ein in einer der diversen Programmiersprachen geschriebenes Programm vom PC zur CPU des RCX mit Hilfe einer IR-Schnittstelle heruntergeladen wird. Nachdem das Programm gestartet worden ist, kann der mit einem RCX gebaute Mindstormsroboter völlig autonom handeln und auf äußere und innere Ereignisse reagieren, entsprechend den Programmieranweisungen. Des Weiteren können zwei oder mehr RCX miteinander über die IR-Schnittstelle kommunizieren, was Wettbewerbe und Kooperationen ermöglicht. Der RCX besitzt drei Motorausgänge sowie drei Sensoreingänge. Die Leistungssteuerung der Motorausgänge erfolgt über Pulsweitenmodulation.
Penis!
der rcx is ein kleiner schwuchtel :P
Mindstorms NXT
siehe Hauptartikel: NXT

Anfang 2006 präsentierte Lego auf der Consumer Electronics Show ein neues Mindstorms-System namens NXT. Die Hauptverbesserungen sind ein 32-Bit-ARM-Prozessor und die neuen Geräusch- und Ultraschallsensoren. Außerdem lässt sich der Roboter mit dem Handy oder Computer per Bluetooth fernsteuern. Des Weiteren soll es bald möglich sein, dass das Handy als Kamerasensor benutzt werden kann. Der Bausatz Mindstorms NXT mit 577 Legoelementen (Nr. 8527, Standardversion) ist seit dem 15. Oktober 2006 in Deutschland erhältlich. Zu den älteren Versionen ist das "NXT"-System nur sehr beschränkt über einen IF-Sensor von HiTechnic kompatibel; die Betriebssystem-Software unterscheidet sich grundsätzlich, und auch die neuen Anschlüsse für Sensoren und Aktoren sind nicht kompatibel zu den älteren Mindstorms-Versionen - es existieren allerdings Adapter, mit denen ältere Sensoren teilweise auch im NXT-System verwendet werden können. Seit 2009 gibt es das Mindstorms NXT 2.0 set (Lego Mindstorms 8547) als Weiterentwicklung in der 2. Generation.
Das LEGO Mindstorms NXT-Set enthält:
- einen programmierbaren NXT-Stein mit 32-Bit-Mikroprozessor
- mit vier Sensor- und drei Motoranschlüssen
- drei Servomotoren mit eingebauten Rotationssensoren
- Geräuschsensor (nur bei NXT 1.0)
- Ultraschallsensor
- Druckkontaktsensor (einer bei NXT 1.0, zwei bei NXT 2.0)
- Lichtsensor (nur bei NXT 1.0)
- Farb- und Lichtsensor bzw. Lampe in einem (nur bei NXT 2.0)
- Real-Sound-Lautsprecher
- Bluetooth- und USB-Anschluss
- grafisches Software-Interface für PC und Mac
Die mitgelieferte Programmierumgebung NXT-G wurde in Zusammenarbeit mit National Instruments entwickelt und basiert auf der graphischen Programmiersprache LabVIEW.
Die Schulversion des Mindstorms-NXT-Bausatzes mit 431 Lego-Elementen (Nr. 9797) hat eine etwas andere Zusammensetzung. Der Bausatz enthält zusätzlich einen 1400-mAh-Lithium-Ionen-Akku und drei Adapterkabel für den Anschluss von Lampen und älteren Motoren und Sensoren, dafür jedoch weniger Lego-Bausteine.
Programmierung
Der RCX kann mithilfe der mitgelieferten Entwicklungsumgebung für RCX-Code, die Schulversion mit dem auf LabVIEW basierenden ROBOLAB programmiert werden. Der NXT wird in beiden Versionen mit dem auf LabVIEW basierenden NXT-G programmiert. Auch andere Hersteller bieten Entwicklungsumgebungen an:
- Textbasiert:
- pbForth[1] – für den Hitachi H8 in LEGO Mindstorms Robotics Invention System als Alternative (Alternative auch zur Firmware)
- leJOS – Programmierung in Java
- NQC (Not Quite C [dt. „Nicht ganz C“], für das RCX System)
- NXC (Not eXactly C [dt. „Nicht genau C“], für das NXT System)
- BricxCC – Entwicklungsumgebung für mehrere Sprachen und Systeme (hauptsächlich NQC und NXC)
- BrickOS (ehemals LegOS) – Programmierung in C bzw. C++
- Interactive C – Bietet Zusatzfunktionen wie Textausgabe
- Robot C – Steuert verschiedene Systeme (unter anderem RCX und NXT)
- BASIC
- MindSqualls – dient zur Erstellung von C#-Programmen, mit denen man dann den NXT fernsteuern kann
- RWTH – Mindstorms NXT Toolbox[2] für MATLAB – Bibliothek zur Fernsteuerung des NXT per Bluetooth und USB
- Mit grafischer Oberfläche:
- Kara – Programmierung mittels Zustandsautomaten
- Microsoft Robotics Studio
- DialogOS – Steuerung des Roboters per Sprache
- GNAT GPL for LEGO MINDSTORMS NXT - Auf GNAT basierender Ada Compiler und Entwicklungsumgebung
Referenzen
Literatur
- Dave Baum, Michael Gasperi, Ralph Hempel, Luis Villa (2000): Extreme Mindstorms: an Advanced Guide to Lego Mindstorms. Apress, ISBN 1-893115-84-4
- Benjamin Erwin (2001): Creative Projects with Lego Mindstorms (book and CD-ROM). Addison-Wesley, ISBN 0-201-70895-7
- Dave Baum (2002): Definitive Guide to Lego Mindstorms, 2nd ed. APress, ISBN 1-59059-063-5
- Ferrari et al. (2001): Building Robots With Lego Mindstorms: The Ultimate Tool for Mindstorms Maniacs. Syngress, ISBN 1-928994-67-9
- Brian Bagnall (2007): Maximum Lego NXT: Building Robots with Java Brains. Variant Press, ISBN 0-9738649-1-5
- Fraunhofer IAIS (2008): Roberta Band 1 – Grundlagen und Experimente für Lego Mindstorms NXT. Fraunhofer IRB Verlag, ISBN 978-3-8167-7807-3
- Fraunhofer IAIS (2008): Roberta Band 1 – Grundlagen und Experimente für Lego Mindstorms RCX. Fraunhofer IRB Verlag, ISBN 978-3-8167-7808-0