fair-hotels . Ein Service wie gemalt
Reiseführer Übersicht Deutschland Österreich Schweiz Bauwerke nach Stil

Werbung

Letzte Änderung für Artikel LEGO Mindstorms: 20.02.2006 10:14

LEGO Mindstorms

Wechseln zu: Navigation, Suche

LEGO Mindstorms ist der Name einer Produktserie der LEGO Company, die einen programmierbaren Legostein ( RCX genannt), 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.

Der RCX (Version 1.0)
Der RCX (Version 1.0)
Der RCX (Version 2.0) auf einem teilweise zerlegtem Standartroboter
Der RCX (Version 2.0) auf einem teilweise zerlegtem Standartroboter

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. Zusätzlich besitzt der RCX noch drei Motorausgänge sowie drei Sensoreingänge.

Inhaltsverzeichnis

Eine Auswahl an Programmiersprachen fĂĽr LEGO Mindstorms

  • Von LEGO erstellte (beide grafisch):
    • RCX Code
    • ROBOLAB (basiert auf LabVIEW )
  • Drittanbieter (alle Textorientiert):
    • Java mit leJOS
    • NQC ("Not Quite C" [Nicht ganz C])
    • C und C++ mit BrickOS (ehemals LegOS)

Wie man einen einfachen RCX Roboter programmiert

Es gibt viele Arten von Robotern. "Gehirne" für zwei einfache Roboter sind das Handyboard und der RCX. Das Handyboard ist schlicht ein kompakter Haufen Computerchips, konstruiert, um Befehle entgegenzunehmen. Der RCX ist eine Erfindung von LEGO, der es erlaubt mit Hilfe von verschiedenen C ähnlichen Programmiersprachen zu programmieren. Die Programme können sehr einfach und kurz sein. Wenn man einen Roboter baut, sollte man Servomotoren benutzen, die gut mit dem RCX zu kontrollieren sind. Ein simples Programm für den RCX könnte so aussehen:

void main ()
{
    motor(1,100);
    sleep(2.0);
    ao();
}

Jedes Programm dieser Programmiersprache sollte mit void main beginnen. motor (1,100) bedeutet, dass der Motor 1 sich mit 100 % Geschwindigkeit dreht. Eine Anweisung wird mit einem Semikolon beendet. Steht eine sleep–Anweisung, bedeutet das lediglich, dass das Programm den vorherigen Befehl für die Zeit in den Klammern ausführt und danach erst fortfährt. In diesem Beispiel dreht sich der Motor 1 mit 100 % für 2 Sekunden und wird dann mit dem Befehl ao, für Alles aus, angehalten. Das Programm endet und beginnt mit den geschweiften Klammern.

RCX Sensoreingänge

Für viele Bastler ist es sicher 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 kΩ Widerstand vorgeschaltet).

U = 5V-10K \Omega \cdot J = {{5V} \over {{10K \Omega \over R} + 1}}

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.

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

Mindstorms NXT

Vor kurzem präsentierte Lego ein neues Mindstormssystem, das sich "NXT" nennt. Die Hauptverbesserungen sind ein 32-Bit Prozessor und neue Sensoren, wie zum Beispiel ein Ultraschallsensor. Außerdem lässt sich der Roboter dann auch mit dem Handy per Bluetooth fernsteuern. Mindstorms NXT erscheint voraussichtlich im August 2006 in den Läden und wird für rund 250$ zu kaufen sein.

Weblinks

Wikipedia

Dieser Artikel basiert auf dem Artikel LEGO Mindstorms aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für freie Dokumentation . In der Wikipedia ist eine Liste der Autoren des Artikels LEGO Mindstorms verfügbar.

fair-hotels. Ein Service der
VIVAI Software AG
Betenstr. 13-15
44137 Dortmund

Tel. 0231/914488-0
Fax 0231/914488-88
Mail: info@vivai.de
Url: http://www.vivai.de