R2-D2 im Eigenbau

Teil 2: Programmierbare Robotic-Baukästen

  1. Programmierbare Robotic-Baukästen
  2. Teil 2: Programmierbare Robotic-Baukästen

So wie die Hardware stellt auch die Mind - Storms-NXT-Software eine völlige Neuentwicklung dar, die nicht mehr viel mit dem früheren, mehr als verspieltwirkenden Programmiertool zu tun hat. Stattdessen handelt es sich nun um eine vollwertige und hochmoderne Integrierte Arbeitsumgebung (IDE), die dem Anwender über die Programmierung hinaus die nicht abgedruckten Baupläne nachliefert und ihm bei Fragen oder Problemen einen direkten Zugang zum (englischsprachigen) MindStorms-Internetportal verschafft, wo auch Software-Updates und weitere Baupläne zum Download bereit stehen.

Programmierbare Robotic-Baukästen

© Archiv

Dieser putzige Geselle beweist, dass Anmut und Grazie auch auf sechs Beinen möglich sind.

Trotz der neuen Ernsthaftigkeit findet die Programmierarbeit nach wie vor auf eine visuelle, dem Baustein-Prinzip nachempfundene Art statt. Dabei zieht der Anwender per Maus Befehlsblöcke aus einer am linken Bildschirmrand angebrachten Palette und legt sie im Arbeitsbereich ab. Die NXT-Software verbindet den Block automatisch mit dem Vorgänger, wodurch Schritt für Schritt eine visuelle Befehlskette - und letztlich das Programm entsteht.

Für die Programmablaufkontrolle stehen weitere Befehlsblöcke bereit. Der Warteblock etwa hält das Programm bis zum Eintreffen eines definierbaren Ereignisses - dem Auslösen eines bestimmten Sensors zum Beispiel - an. Der Schleifenblock ermöglicht die wiederholte Ausführung bestimmter Aktionen. Und mit dem Schaltblock kann der Roboter Entscheidungen treffen, so dass er beispielsweise bei einem lauten Geräusch nach rechts, bei einem leiseren nach links geht.

Dieses Grundrepertoire an Befehlsblöcken ist in der allgemeinen Palette zusammengefasst, die für die Erledigung einfacher Programmiervorhaben gedacht ist. Dem Fortgeschrittenen stehen aber eine Vielzahl weiterer Befehlsblöcke in der Vollständigen Palette zur Verfügung.

Was genau bei der Abarbeitung eines Befehlsblocks geschehen soll, legt der Anwender über ein dauerhaft geöffnetes Dialogfeld am unteren Bildschirmrand fest. So kann er beim Motorblock nicht nur die gewünschten Motoren auswählen, deren Laufrichtung, Leistung oder Umdrehungszahl bestimmen, sondern darüber hinaus sogar eine Lenkbewegung angeben, bei der die Software die Koordinierung der beteiligten Motoren übernimmt.

Schwieriger wird es jedoch beim Konzept der Datenleitung. Dabei handelt es sich um eine Direktverbindung zwischen zwei Blöcken, durch die der Ausgangswert eines Blocks - ein Zählerwert oder die aktuelle Drehzahl eines Motors etwa - als Eingangswert in den anderen übertragen wird. Allerdings kann ein Block viele unterschiedliche Ein- und Ausgänge für solche Datenleitungen aufweisen, deren Typ nur durch wenig aussagekräftige Symbole kenntlich gemacht ist.

Da die Online-Hilfe zu diesem Thema auch nur wenig Erhellendes anzubieten hat, wünscht man sich spätestens hier ein ausführliches Programmierhandbuch. Außerdem verknüpfen sich die mit der Maus gezogenen Datenleitungen nicht immer mit dem anvisierten Port und werden beim Verschieben eines Blocks rigoros gekappt. Hier wäre eine Überarbeitung des an sich sehr nützlichen Konzepts in einer der nächsten Software-Versionen fällig.

Der Weg des fertigen Programms vom PC in den NXT-Baustein verläuft wahlweise über ein mitgeliefertes USB-2.0-Kabel oder eine Bluetooth-Verbindung, sofern der PC über einen entsprechenden Adapter verfügt. Einmal eingerichtet erweist sich der Funkweg als besonders bequeme und experimentierfreundliche Methode, weil man das Programm "schnell mal eben" mit einem einzelnen Mausklick überträgt, ohne eine Kabelverbindung herstellen und dann wieder lösen zu müssen.

Auf das Suchen des NXT-Roboters kann man ebenfalls verzichten, da die Funkübertragung mehrere Meter (die maximale getestete Distanz lag bei 7 Metern innerhalb eines Raumes) problemlos überbrücken kann. Und noch etwas funktionierte im Test ganz prima und sorgte für bislang ungekannte Freiheitsgrade: die Fernbedienung eines NXT-Roboters über ein Bluetooth-fähiges Handy (Sony Ericsson K610), wodurch sich die nicht mehr unterstützte Remote Control früherer MindStorms-Versionen, die ein Infrarotsignal aussendet, mehr als ersetzen lässt.

Der NXT-Baustein kann Sound-Dateien abspielen oder Bilder auf seinem Display anzeigen. Der dafür bereitstehende Speicherplatz ist allerdings mit rund 68 KByte ziemlich knapp bemessen, weshalb sich eine rollende oder gar laufende "Music-Box" respektive ein Diaschau-Automat (noch) nicht realisieren lässt.

Mit Struktur

Die Robo-Pro-Software von Fischertechnik konzentriert sich ausschließlich auf die ebenfallsvisuelle Programmierung. Allerdings bilden die per Maus zusammengefügten Programmelemente hier keine Kette von Bausteinen, sondern ein Struktogramm, wie es überall in der Informatik zur Beschreibung von Programmabläufen verwendet wird. Dadurch kann man die Logik eines beliebigen Fremdprogramms, für das man irgendwo ein Struktogramm gefunden hat, ziemlich leicht in ein real existierendes Robo-Mobile-Programm umsetzen. Den Anfang eines solchen Programms bildet immer das mit dem ostdeutschen Ampelmännchen gekennzeichnete Startelement.

Programmierbare Robotic-Baukästen

© Archiv

Die NXT-Software ist eine komplexe Arbeitsumgebung, die nicht nur für die Programmierung zuständig ist, sondern auch Baupläne enthält.

Das Verzweigungselement prüft den Wert eines Sensors (oder analogen Eingangs) und springt in Abhängigkeit von diesem entweder zu dem nächsten Element oder einem vorhergehenden. Welches das ist, legt der Anwender durch das simple Einzeichnen eines Pfeils fest. Darüber hinaus gibt es Warteelemente, die das Programm bis zum Ablauf einer bestimmten Zeit oder dem Eintreffen eines Sensorwerts pausieren lassen, einen Impulszähler, der die Betätigungen eines Tastsensors addiert, sowie eine Zählschleife, die beliebige Elemente beliebig oft wiederholt. Ein Klick mit der rechten Maustaste bringt ein Dialogfeld zur Vorschein, über das sich die Ausführungsdetails eines Programmelements festlegen lassen.

Um jedem Anwender das für seinen Erfahrungsstand passende Werkzeug an die Hand zu geben, lässt sich die Programmoberfläche zwischen vier Leveln umschalten, wodurch unter anderem weitere Programmelemente aber auch häufig benötigte Unterprogramme oder Variablen verfügbar werden. In der Praxis funktioniert die Programmierung mit der Robo-Pro-Software sehr gut, erfordert bei vergleichbarer Leistungsfähigkeit aber deutlich mehr Eingewöhnungszeit als die NXT-Software.

Dafür können die Fischertechnik-Roboter in den Dialog mit dem Anwender treten dank eines am Bildschirm des Computers angezeigten Bedienfeldes, das sich als Anzeige- und Steuerkonsole nutzen lässt. NXT-Fans werden jedoch einwenden, dass ihre Roboter aufgrund der überlegenen Sensorausstattung und des in den NXT-Bausteins integrierten Displays auf dem direkten Weg mit dem User interagieren.

Die Übertragung der fertigen Programme auf das Robo-Interface erfolgt wahlweise über ein im Set enthaltenes USB-Kabel oder über eine serielle Verbindung via COM-Port. Letztere erweist sich jedoch im Hinblick auf die erzielbare Datenrate als deutlich unterlegen und bringt auch keine Hot-Plug-Fähigkeit mit, die den USB-Einsatz so problemlos macht. Als weitere Option steht eine Infrarot-Schnittstelle zur Verfügung, die allerdings in erster Linie für die Fernbedienung des Roboters über das optional erhältliche IR Control Set (80 Euro) gedacht ist.

Dem Anwender bleibt also das Herstellen einer Kabelverbindung vor der Datenübertragung nicht erspart. Wer seine Programme ähnlich komfortabel wie bei Mind-Storms NXT übermitteln möchte, kann das Robo-Interface aber um eine Funkplatine und den PC um eine passende Sende-/Empfangseinheit erweitern (Robo RF Data Link, 140 Euro). Die Technik ist allerdings nicht Bluetooth-kompatibel.

Fazit

Wer beim Roboterbau und der -programmierung einsteigen möchte, findet sowohl bei Lego als auch bei Fischertechnik ein adäquates Produkt. Für welches man sich entscheidet, ist eine Frage des persönlichen Geschmacks.

Programmierbare Robotic-Baukästen

© Archiv

Die Robo-Pro-Software ist ausschließlich für die Programmierung zuständig und passt sich in vier Stufen dem Kenntnisstand des Anwenders an.

Mit MindStorms NXT bietet Lego ein moderneres Konzept mit 32-Bit-Prozessor, Bluetooth-Funktechnik, leistungsfähigeren Sensoren und einer sehr guten Programmier-Umgebung, bei der es im Detail allerdings (siehe Datenleitungen) noch etwas hakt. Der einzige nennenswerte Nachteil ist die für anspruchsvollere Projekte unzureichende Programmierdokumentation.

Für das Robo Mobile Set von Fischertechnik sprechen vor allem die starken Motoren sowie die außerordentliche Stabilität der Robotermodelle, die man - bei entsprechender Programmierung, versteht sich - mindestens zum Brötchenholen schicken könnte. Das Robo-Interface verfügt zwar "nur" über eine 16-Bit-CPU und kann weder Sounds noch Bilder speichern, lässt sich dank seiner zahlreichen digitalen und analogen Anschlüsse aber für die unterschiedlichsten elektronischen Experimente nutzen. Bei einem Einsteiger-Komplettpaket müsste der unverzichtbare Akku aber zwingend im Preis enthalten sein.

Mehr zum Thema

Defekte DVDs schnell auslesen
Retten und Reparieren

Wenn das Video einfriert, Fotos verpixeln oder MP3s wie Schallplatten springen, ist oft eine defekte CD/DVD schuld. Wir zeigen, wie Sie diese vor dem…
So lange halten DVD, CD und HDD
Daten für die Ewigkeit

Wie lange halten eigentlich Festplatten, DVDs und Speichersticks? Vor- und Nachteile der einzelnen Medien und was es zu beachten gibt erfahren Sie…
PC Rettung, Windows, PC Totalausfall, Datenrettung, Datensicherung
Datensicherung und mehr

Wenn der Rechner nicht mehr startet, sollte man keineswegs unüberlegt handeln und Windows einfach neu installieren. Wir zeigen Ihnen, wie Sie im…
Wir haben Tipps und Tricks für den Kauf einer externen Festplatte.
Externe Festplatten

Suchen Sie eine externe Festplatte? Wir verraten, worauf Sie vor dem Kaufen unbedingt achten sollten. Schauen Sie in unsere Kaufberatung zu externen…
Externe Festplatte im Eigenbau
How to

Sie haben eine interne Festplatte, aber keinen Platz in Ihrem PC? Machen Sei doch einfach eine externe HDD daraus!