Robotics Command System

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Der RCX (Version 1.0, erkennbar an einem eingebauten 9V-Anschluss)
Der RCX (Version 2.0) auf einem teilweise zerlegten Standardroboter

Der RCX (Robotic Command Explorer) der Lego Mindstorms-Produktserie besitzt einen Renesas-H8/300-Mikrocontroller als CPU. Er wird programmiert, indem ein Programm mit Hilfe einer IR-Schnittstelle vom PC zur CPU des RCX heruntergeladen wird. Mehrere Entwicklungsumgebungen erlauben die Programmierung entweder durch graphisches Zusammenfügen fertiger Bausteine oder in verschiedenen Hochsprachen.

Nachdem das Programm gestartet worden ist, kann der mit einem RCX gebaute Roboter 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.

Programmiersprachen[Bearbeiten]

Die mitgelieferte Software ermöglicht, mit einer grafischen Benutzeroberfläche Programme aus Bausteinen zusammenzusetzen. Für komplexere Aufgaben kann der RCX mit verschiedenen Programmiersprachen programmiert werden, z. B. NQC.

  • von Lego entwickelte (mit grafischer Oberfläche):
    • RCX Code
    • ROBOLAB (basiert auf LabVIEW)
  • von anderen Anbietern (textbasiert):
    • leJOS – Programmierung in Java
    • NQC (Not Quite C [dt. „Nicht ganz C“])
    • BricxCC (Bricx Command Center) – Entwicklungsumgebung, die das Arbeiten mit NQC erleichtert
    • BrickOS (ehemals LegOS) – Programmierung in C bzw. C++
    • Interactive C – Bietet Zusatzfunktionen wie Textausgabe
    • Robot C – Steuert verschiedene Systeme (unter anderem RCX und NXT)

RCX-Sensoreingänge[Bearbeiten]

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_\text{RCX} = U \cdot 204{,}6\ {1 \over \mathrm{V}}

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

U = 5\ \mathrm{V}-10\ \mathrm{k\Omega} \cdot I = {{5\ \mathrm{V}} \over {{10\ \mathrm{k\Omega} \cdot \frac{1}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[Bearbeiten]

  • 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
  • Fraunhofer IAIS (2007): Roberta - Grundlagen und Experimente für Lego Mindstorms RCX. Fraunhofer Verlag IRB, ISBN 978-3-8167-7808-0
  • Fraunhofer IAIS (2008): Roberta - Grundlagen zur Planung und Durchführung von Roberta-Kursen. Fraunhofer Verlag IRB, ISBN 978-3-8167-7806-6

Weblinks[Bearbeiten]