Robokit - ATARI England bleibt aktiv

Außer Transputer-Workstations und Laptop-Designs hat Englands ATARI-Filiale noch mehr zu bieten: den Robokit. Dies ist ein kleines Interface für den ROM-Port und eine entsprechende Steuersoftware, mit der sich Roboter und ähnliche Automaten steuern lassen. Die ganze Sache wurde von ATARI in Zusammenarbeit mit der Firma 'Personal Robots', die sich mit großen und professionellen Robotern und Robotersteuerungen befallt, entwickelt. Daher basiert Robokit auf den gleichen Techniken, die auch bei den großen Brüdern in Labor und Fabrikation verwendet werden. Ein interessantes und lehrreiches 'Spielzeug' also. Wir haben einen Prototyp ausprobiert, obwohl es noch keineswegs sicher ist, ob der Robokit überhaupt jemals in Deutschland von ATARI vertrieben werden wird.

Hardware

Der erste Schritt: Lego kaufen. In dem provisorischen Robokit-Handbuch werden nämlich nur Beispielmodelle für verschiedene Roboter beschrieben, die aus Teilen der Lego Technic-Serie gebaut wurden. Dafür muß man aber ganz schön basteln: Schalter gibt es zwar für Lego Technic, aber sie werden im Augenblick nur an Schulen und ähnliche Institutionen verkauft. Aber selbst ist der Mann: Aus Büroklammern kann man auch Schalter und Sensoren für den Roboter bauen.

Nach einiger Zeit steht der Roboter dann, und er funktioniert. Das Interface bietet acht Ausgangs- und acht Eingangsleitungen an, so daß maximal acht Motoren und/oder Sensoren bzw. Schalter im Modell verwendet werden können. Dabei können Motoren mit bis zu 12 Volt Spannungsbedarf verwendet werden. Die Roboter können also schon ganz schön Kraft ent wickeln. Wir haben die 4,5 Volt Lego-Batteriemotoren für einen um zwei Achsen beweglichen Greifarm benutzt.

Software

Die Robokit-Software ist GEM-gestützt. Die Arbeitsweise läßt sich recht einfach beschreiben: Man lädt ein Bild, das man mit einem beliebigen Malprogramm gemalt hat, in Robokit ein. Dieses Bild sollte sinnvollerweise den Roboter darstellen, den man steuern möchte. Man kann es dann mit Icons versehen und diesen schließlich jeweils eine Steuerfunktion zuweisen, mit der die Motoren des Modells gesteuert werden. Durch Anklicken eines Icons bewegt sich der Roboter genau so, wie es in der zugewiesenen Steuerfunktion beschrieben ist.

Nehmen wir als Beispiel den kleinen, zweiachsigen Lego-Roboterarm. Das Bild läßt sich mit vier Icons versehen: Nach rechts und links drehen sowie Arm heben und senken. In der Mechanik des Arms ist vorgesehen, daß sich der Greifer automatisch schließt, wenn man den Arm anhebt, und sich öffnet, wenn man den Arm senkt. Es stehen übrigens einige Icons mit sehr verschiedenen Motiven, die man für die Symbolisierung von allen möglichen Bewegungen verwenden kann, zur Verfügung.

Bild 1: Der Robokit-Desktop mit einem Bild des zweiachsigen Greifarms mit Icons zur Steuerung. Die Maus kann im "Mauseloch” links oben geparkt werden, um die Ausführung zu beschleunigen.

Die im Robokit möglichen Steuerfunktionen sind äußerst vielfältig. Das Prinzip ist auch hier sehr einfach: Es gibt eine Anzahl von sogenannten ‘Slots’, die jeweils eine bestimmte Klasse von Steuerbefehlen enthalten, zum Beispiel zur Steuerung von Motoren oder zur Abfrage von Sensoren. In jedem dieser ‘Slots’ sind eine Reihe von Nachrichten definiert, die der Empfänger - im Motoren-’Slot’ eben ein Motor - versteht und mit einer bestimmten Reaktion beantwortet. Selbstverständlich muß man in der Nachricht auch den Empfänger näher beschreiben, da ja bis zu acht Motoren an das Robokit-Interface angeschlossen werden können. Auch muß man. je nach Art der Nachricht, die gewünschten Reaktionen mit Hilfe von Parametern genauer beschreiben, zum Beispiel benötigen einzelne Motornachrichten einen Parameter für die Drehrichtung oder Drehgeschwindigkeit des angesprochenen Motors.

Wenn die Nachrichten einmal genau definiert und mit einem Icon verknüpft worden sind, mit dem man dann eine Aktion per Maus auslösen kann, ist Robokit aber noch längst nicht am Ende seiner Möglichkeiten. Es ist möglich, ganze Sequenzen von Kommandos und Nachrichten wie mit einem Tonbandgerät aufzuzeichnen und die so erstellten Aktionsprogramme für den Roboter später wieder ablaufen zu lassen. Auch diese Programme lassen sich mit einem Icon verknüpfen, so daß mit einem Mausklick auch sehr komplexe Abläufe im Modell gestartet werden können.

Im folgenden werden die möglichen Nachrichten beschrieben. Es gibt Nachrichten, die auf unterster Ebene direkt die Leitungen des Interfaces steuern, sowie komplexe Funktionen, die aufwendigere Modelle wie z.B. einen Plotter steuern können und somit die Programmierung erheblich erleichtern. Im Grunde sind die komplexen Modellsteuerungen nichts anderes als Programme aus einfacheren, direkten Steuerbefehlen. Jede Klasse von Nachrichten besitzt auch einen 'Veribose‘- Modus, der eine Ausgabe der Aktivitäten des ‘Slots’ auf einem Textfenster auf dem ATARI Bildschirm bewirkt.

Bild 2: Links oben ein Textfenster, rechts unten eines für Grafik und in der Mitte das Aufnahmefenster des Sequencers mit den Nachrichten für die Grafik rechts.

Direkte Interface-Programmierung

Hier gibt es Nachrichten, mit denen eine bestimmte Ausgangsleitung des Interfaces gesetzt, gelöscht oder umgeschaltet werden kann. Es ist auch möglich, eine Leitung in bestimmten Zeitintervallen umzuschalten. Die Eingabeleitungen können abgefragt werden. Außerdem kann eine Leitung überwacht werden, so daß bei Eintreffen eines bestimmten Signals eine Nachricht an einen anderen ‘Slot’ gesendet wird, die entsprechende Aktionen auslöst.

Bild 3: Die Auswahl der Nachrichten erfolgt in dieser Box. Links die Nachrichtengruppe, der 'Slot', rechts die Nachrichten, die zur Gruppe 'Motors’ gehören.

Motorsteuerung

In dieser Gruppe sind Nachrichten zusammengefaßt. die normale Elektromotoren über die Interface-Anschlüsse steuern. Motoren, die von dieser Nachrichtengruppe gesteuert werden, müssen über zwei Leitungen angeschlossen werden, um eine Steuerung der Drehrichtung zu ermöglichen. Maximal vier solcher Motoren können also von den 8 Steuerleitungen versorgt werden. Die Motoren können eine bestimmte Zeit angeschaltet sein oder solange, bis ein Modell eine bestimmte Wegstrecke zurückgelegt hat. Es ist auch eine Methode für die absolute Positionierung eines Modells eingebaut. Für diese Zwecke ist es möglich, die Motorbewegung mit den Eingangssignalen von einem Schalter zu koppeln, der auf irgendeine Weise im Modell mit der Motorbewegung gekoppelt ist. In unserem Greifarmmodell erzeugt eine Motorumdrehung eine bestimmte Anzahl von Schalterklicks, die die Motorsteuerungsnachrichten benutzen, um die Drehung des Arms festzustellen. Auch die Motorgeschwindigkeit läßt sich festlegen. Eine Motornachricht kann auch nach Beendigung einer Bewegung eine Nachricht abschicken, mit der ein anderer "Slot" über das Ende der Aktion informiert wird.

Der Servo-’Slot’

Die Funktion der Nachrichten dieses ‘Slots' entspricht im wesentlichen den Motornachrichten, jedoch wird eine andere Art von Motoren gesteuert, nämlich analoge Gleichstrom-Servo-Motoren, wie sie z.B. auch im Modellbau verwendet werden.

‘Buggy’

Die Funktionen dieser Gruppe dienen dazu, ein Automodell mit zwei Motoren für Antrieb und Lenkung zu steuern. Es existiert auch eine weitere Gruppe, die das Automodell per Zufall steuert. Diese Zufallsbefehle können allerdings auch an andere ‘Slots’, die die gleichen Nachrichten wie das Automodell verstehen, gesendet werden.

Abspielen von aufgenommenen Steuersequenzen

Es existieren Nachrichten, mit denen Steuersequenzen, die mit der ‘Aufnahme’-Funktion des Robokitprogramms gemacht wurden, wiedergegeben werden können, bzw. mit denen eine laufende Wiedergabe unterbrochen werden kann. Mit Hilfe dieser Funktion kann z.B. der Motoren-’Slot’ sehr komplexe Funktionen starten, nachdem er eine Bewegung abgeschlossen hat.

Kartenlesersteuerung

Hiermit kann ein Modell eines Lochkartenlesers gesteuert werden. Das Modell zählt Löcher in einer Karte und vergleicht die Anzahl der Löcher mit vorgegebenen Werten.

Bilder laden

Dies ist eine Funktion, mit der man Bilder von Diskette auf den Bildschirm laden und sie dort verschieben oder sichtbar und unsichtbar machen kann.

‘Turtle'-Grafik

Wer Logo kennt, kennt auch Schildkrötengrafik. Dies sind Zeichenfunktionen, die auf der Bewegung eines Stiftes, der Schildkröte, auf einem Blatt Papier basieren. Die Schildkröte kann sich auf geraden Wegen bewegen oder sich im Stand drehen. Außerdem kann sie den Stift hochheben oder aufs Papier senken. Die Ausgaben der ‘Turtle’-Grafik werden von Robokit in eines von vier Grafikfenstern auf dem Bildschirm des ST, die der Benutzer nach Belieben öffnen oder schließen kann, gezeichnet. Man kann die Bewegung der Schildkröte auch an Bewegungen des Automodells koppeln, so daß das Modell eine Karte seiner Bewegung zeichnet.

Grafikfunktionen...

... enthält Nachrichten, die einfache Grafikfunktionen für eines der vier Grafikfenster ausführen.

Plotter

Eine einfache Steuerung für ein Modell eines x-y Plotters

Textausgabe

Außer dem Systemfenster, in dem Nachrichten des Robokitprogrammes selbst ausgegeben werden, und den vier Grafikfenstern gibt es auch vier Textfenster, die für Textausgaben benutzt werden können. Die meisten 'Slots' können zu einem dieser Fenster eine Nachricht schicken, wenn sie dem Benutzer eine Mitteilung machen wollen.

Fazit

Die Robokit-Steuersoftware ist ein leicht verständlicher, aber auch sehr leistungsfähiger Kontrollapparat für mechanische, motorgetriebene Modelle jeder Art. Es hat mir viel Spaß gemacht, das Lego-Robotermodell mit Robokit zu programmieren. Es ist möglich und zudem auch komfortabel, wirklich komplizierte Bewegungsabläufe zu programmieren, ohne daß man das Gefühl hat, tatsächlich als Programmierer tätig zu sein. Robokit ist eine wirklich spannende und lehrreiche ST-Erweiterung, die sowohl als Spielzeug als auch zur Steuerung von wirklichen Kleinautomaten Verwendung finden kann. Robokit macht Spaß!

CS

Bild 4: Die Parameter für die 'Move-Motor'-Nachricht. Motornummer, Geschwindigkeit und Richtung müssen festgelegt werden.
Bild 5: Die verschiedenen Icons für die ‘Bedienung' des Roboters.


Aus: ST-Computer 03 / 1989, Seite 54

Links

Copyright-Bestimmungen: siehe Über diese Seite