- 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.
Inhaltsverzeichnis
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.
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.
RCX-Sensoreingänge
Für viele Bastler, die eigene Sensoren entwickeln wollen, ist es interessant den vom RCX angezeigten Sensorwert (0...1023) interpretieren zu können. Dieser Wert ergibt sich aus der am Sensoreingang anliegenden Spannung. Ohne Sensor beträgt diese 5 V, fällt aber ab, sobald ein Sensor mit einem endlichen Widerstand angeschlossen wird. Die Anzeige des RCX lässt sich wie folgt aus der anliegenden Spannung U berechnen:
Die anliegende Spannung U wiederum kann z. B. aus dem angeschlossenen Widerstand R oder dem Strom I an den Sensoren berechnet werden. Der maximale elektrische Strom beträgt 0,5 mA (intern ist dem Sensor ein 10-kΩ-Widerstand vorgeschaltet).
Die Sensoren können in einem aktiven (Lichtsensor, Drehsensor) und einem passiven Modus (Schalter, Temperatursensor) betrieben werden. Im passiven Modus wird wie oben beschrieben nur der Spannungsabfall an den Sensoreingängen gemessen. Im aktiven Modus liegt für je 3 ms die Batteriespannung am Sensoreingang an, um den Sensor mit Strom zu versorgen. Für 0,1 ms wird dann in den passiven Modus geschaltet, um den Sensorwert zu erfassen. In dieser Zeit muss sich der aktive Sensor durch eine eigene Stromquelle (Kondensator) versorgen.
Nachfolgesystem Mindstorms NXT
Anfang 2006 präsentierte Lego auf der Consumer Electronics Show ein neues Mindstorms-System namens NXT.
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. „Fast wie 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[2] – 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[3] 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
Siehe auch
Bausystem
Mindstorms verwendet sehr einfache aber trotzdem komplexe Stecksysteme, die von RCX auf NXT immer wieder verbessert wurden. Das komplette System ist sehr gut ausgereift. Deshalb können Maschinen in Bezug auf Aussehen und Funktion sehr originalgetreu nachgebaut werden.
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
Weblinks
- Textbasiert:
Wikimedia Foundation.