article

LEGO Mindstorms ist der Name einer Produktserie der LEGO Company, die einen programmierbaren Legostein (RCX genannt (Robotic Command Explorer)), 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. Obwohl es ein technisches Spielzeug ist, kann es auch (wie von LEGO und MIT ursprünglich auch geplant) als Lehrmittel eingesetzt werden; es ist ein gutes Beispiel für ein Embedded System mit computergesteuerten elektromechanischen Teilen. Beinahe alle Arten von Embedded Systemen, vom Aufzug 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. RCX_1_0.jpg | RCX2.0.JPG Der programmierbare Legostein RCX besitzt einen Renesas H8/300 Microcontroller 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 herunter geladen wird. Nachdem das Programm herunter geladen und gestartet worden ist, kann der mit einem RCX gebauten Mindstormsroboter völlig autonom handeln und auf äußere und innere Ereignisse reagieren, entsprechend der 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.

Programmiersprachen für LEGO Mindstorms


  • Von LEGO entwickelte (mit grafischer Oberfläche):
    • RCX Code
    • ROBOLAB (basiert auf LabVIEW)

  • von Drittanbietern (textbasiert):

Programmierung


Die mitgelieferte Software ermöglicht mit einem graphischen Benutzerinterface Programme aus Bausteinen zusammenzusetzen. Für komplexere Aufgaben kann der RCX mit verschiedenen C ähnlichen Programmiersprachen programmiert werden. Die Programme können sehr einfach und kurz sein. Ein simples Programm in NQC für den RCX könnte so aussehen:

task main () { On(OUT_A); Wait(200); Off(OUT_A); }

Jedes Programm dieser Programmiersprache sollte mit task main beginnen. On(OUT_A); bedeutet, dass sich der Motor A dreht. Eine Anweisung wird mit einem Semikolon beendet. Steht eine Wait–Anweisung, bedeutet das lediglich, dass das Programm für die Zeit in den Klammern wartet und danach erst fortfährt. In diesem Beispiel dreht sich der Motor A für 2 Sekunden und wird dann mit dem Befehl Off(OUT_A); angehalten. Das Programm endet und beginnt mit den geschweiften Klammern.

RCX Sensoreingänge


Für viele Bastler, die eigene Sensoren entwickeln wollen, ist es interessant, den vom RCX ausgegebenen 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:

D_{RCX} = U \cdot 204,6{1 \over V}

Die anliegende Spannung U wiederum kann z. B. aus dem angeschlossenen Widerstand R, oder der Stromdichte J an den Sensoren berechnet werden. Der maximale elektrische Strom beträgt 0,5 mA (Intern ist dem Sensor ein 10 Widerstand vorgeschaltet).

U = 5V-10K \Omega \cdot J =

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.

Mindstorms NXT


Vor kurzem präsentierte Lego ein neues Mindstormssystem, das sich NXT nennt. Die Hauptverbesserungen sind ein 32-Bit-ARM-Prozessor und neue Sensoren, wie zum Beispiel ein Ultraschallsensor. Außerdem lässt sich der Roboter dann auch mit dem Handy per Bluetooth fernsteuern. Der Bausatz Mindstorms NXT mit 577 Legoelementen (Nr. 8527, Standardversion) soll 279 € kosten und ab dem 15. Oktober 2006 in den Läden stehen.

Das LEGO Mindstorms NXT-Set enthält:

  • einen intelligenten NXT-Stein mit 32-Bit-Mikroprozessor
  • mit vier Sensor- und drei Motoranschlüssen
  • drei Servomotoren mit eingebauten Rotationssensoren
  • Tonsensor
  • Ultraschallsensor
  • Tastsensor
  • Lichtsensor
  • Real-Sound-Lautsprecher
  • Bluetooth- und USB-Anschluss
  • Software-Interface für PC und Mac

Literatur


  • Dave Baum, Michael Gasperi, Ralph Hempel, Luis Villa (2000). Extreme Mindstorms: an Advanced Guide to Lego Mindstorms. Apress. ISBN 1893115844
  • Benjamin Erwin (2001). Creative Projects with LEGO Mindstorms (book and CD-ROM). Addison-Wesley. ISBN 0201708957
  • Dave Baum (2002). Definitive Guide to LEGO MINDSTORMS, 2nd ed. APress. ISBN 1590590635
  • Ferrari et al. (2001). Building Robots With Lego Mindstorms: The Ultimate Tool for Mindstorms Maniacs. Syngress. ISBN 1928994679

Weblinks


LEGO | Spielzeug | Roboter

Lego Mindstorms | Lego Mindstorms | Lego Mindstorms | Lego Mindstorms | LEGO Mindstorms

 

This article is licensed under the GNU Free Documentation License. It uses material from the "LEGO Mindstorms".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld