Lego Spybotics

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Lego Spybotics-Hauptstein

Lego Spybotics (offizielle Schreibweise: LEGO Spybotics) ist der Name einer Produktserie der Lego Company, die die Modelle 2002 mit den Namen Gigamesh G60 (Lego-Nr. 3806), Snaptrax S45 (3807), Shadowstrike S70 (3808) und Technojaw T55 (3809) vorgestellt hat. Die Spybotics wurden nur kurze Zeit verkauft, 2008 wurde von Lego jeglicher Support eingestellt[1].

Eigenschaften[Bearbeiten]

Die Bausätze enthalten jeweils einen programmierbaren Legostein mit zwei Elektromotoren, einem Berührungs- und Licht-Sensor sowie Lego-Technic-Elemente (Zahnräder, Achsen, Lochstangen usw.), um einen der vier Spybotics-Roboter zu konstruieren. Durch die eingebauten Motoren und Sensoren sowie die mitgelieferte Software grenzt sich die Spybotics Serie vom RCX-Stein aus der Produktserie Lego Mindstorms ab, an den bis zu drei Motoren und drei Sensoren extern angeschlossen werden können.

Rückseite des Hauptsteins

Die Spybotics Modelle und deren voreingestellte Eigenschaften, die sich aus den verschiedenen Antriebssystemen ableiten lassen:

Modell→

Eigenschaft↓
TECHNOJAW T55 SNAPTRAX S45 SHADOWSTRIKE S70 GIGAMESH G60
Geschwindigkeit
             
             
             
             
Stärke
             
             
             
             
Beweglichkeit
             
             
             
             

Programmierung[Bearbeiten]

Der programmierbare Legostein der Spybotics kann genauso wie der RCX-Stein in diversen Programmiersprachen programmiert werden. Dazu wird das Programm am PC geschrieben, kompiliert und anschließend mit Hilfe einer VLL-Schnittstelle (Verbindung mit sichtbarem Licht) auf den Spybotics geladen. Anschließend kann der Spybotics völlig autonom handeln und auf äußere und innere Ereignisse reagieren, entsprechend den Programmieranweisungen. Mit Hilfe einer Infrarot-Fernsteuerung kann man jederzeit die Steuerung der Motoren übernehmen oder ein weiteres Ereignis auslösen.

Außerdem können Spybotics untereinander über die Infrarot-Schnittstelle kommunizieren, um zusammen eine Mission durchführen zu können. Dazu sendet jeder Spybotic mehrmals pro Sekunde eine Infrarotnachricht, den sogenannten Ping aus. Jeder andere Spybotic in Reichweite verarbeitet automatisch die Pings und legt die Informationen zu bis zu 16 anderen Spybotics oder Fernbedienungen in der sogenannten World Table (Welt-Tabelle) ab[2]. Die Informationen zu jedem anderen Spybotics können über spezielle Variablen aus der Welt-Tabelle abgerufen werden[3]:

Name der Variablen Bedeutung Wertebereich
SPY_NOTE Eigene Notiz über diesen Sender 0-255
SPY_LINKID Fernbedienung, mit dem dieser Spybot verbunden ist 0-7 (0 bedeutet: nicht mit einer Fernbedienung verbunden)
SPY_RANGE Entfernung des Senders Nowhere(0), anywhere(1), there(2), here(3)
SPY_DIRECTION Richtung des Senders Left(0), Center left(1), Center(2), Center right(3), Right(4)
SPY_ASPECT Ausrichtung des Senders zum Empfänger Front Left(0), Front(1), Front right(2), Back Right(3), Back(4), Back Left(5)
SPY_INFO Nachricht des Senders 0-255
SPY_SHORTID Identifikation des Senders 0-255

Programmiersprachen für Lego Spybotics[Bearbeiten]

Grundsätzlich lassen sich die Spybotics genauso wie der RCX programmieren. Nähere Informationen zu Programmiersprachen lassen sich dort nachlesen. Mit der BricxCC-Software kann auch der Inhalt des internen EEPROM des Spybotic gelesen und geändert werden.

Ein simples Programm für den Spybotic in der Programmiersprache NQC könnte so aussehen:

task main() 
{
 OnFwd(OUT_A+OUT_B); //Schalte die Motoren (Output A + Output B) ein
 Wait(400);         //Warte 4 Sek. 
 Off(OUT_A+OUT_B);   //Schalte die Motoren (Output A + Output B) aus
}

Jedes Programm dieser Programmiersprache sollte mit task main beginnen. OnFwd(OUT_A+OUT_B) bedeutet, dass sich die zwei eingebauten Motoren (Motor A und B) in Vorwärtsrichtung drehen. Eine Anweisung wird mit einem Semikolon beendet. Eine Wait–Anweisung bedeutet lediglich, dass das Programm die angegebene Zeit - ein Vielfaches von 10 ms - wartet und danach erst mit dem nächsten Befehl fortfährt. In diesem Beispiel drehen sich beide Motoren für 4 Sekunden und werden dann mit dem Befehl Off angehalten.

Für die Spybotics gibt es spezielle NQC-Erweiterungen, mit denen man ihre Eigenschaften im Programm nutzen kann. Zum Beispiel kann mit dem Befehl FindWorld(index,SPY_RANGE,REL_GT,RANGE_NOWHERE) der nächste Eintrag in der Welt-Tabelle gefunden werden, von dem ein Ping empfangen wurde. Zurückgeliefert wird die zugehörige Zeile in der Variablen index, über die dann auf alle vorliegenden Informationen zugegriffen werden kann[2]. Dadurch ist es möglich, auch komplexe Interaktionen unter den Spybots zu programmieren, z. B. Herden- oder Schwarmverhalten oder Räuber-Beute-Verhalten[3].

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Spybotics FAQ, Website, zuletzt besucht am 9.August 2015
  2. a b Swarm Tutorial, Website, zuletzt besucht am 9.August 2015
  3. a b Auch Roboter können schwärmen, Make 2/2015, Heise-Verlag, 2015, S. 66-73