Wer träumt ihn nicht? Den Traum vom Roboter, der uns alle Mühe und Arbeit abnimmt. Mit einem Heimcomputer ist ein Teil davon heute schon Wirklichkeit.
Vor gar nicht langer Zeit war die Steuerung von Motoren und anderen Geräten mit dem Computer nur den Bastlern und Assembler-Programmierern Vorbehalten. Denn dieses spezielle Anwendungsgebiet erforderte ein umfangreiches Wissen über Interface-Technik. Prozessoren und Ein- und Ausgabe-Bausteinen. Seit dem Erscheinen der Computing-Baukästen von Fischertechnik. und seit kurzem auch von Lego. kann sich auch der unerfahrene Anwender mit der Steuerung von Robotern und der damit verbundenen Problematik befassen.
Was muß man sich unter Begriffen wie Robotik oder Sensorik, die bei diesen Anwendungen häufig auftauchen, vorstellen? Unter Robotik versteht man nichts anderes, als Automaten zu steuern. Dabei sind Automaten nicht nur Roboter, sondern auch alle anderen Geräte, die sich mit einem Computer bewegen lassen. Sensorik ist der Begriff, den man bei der Meßwerterfassung gebraucht. Dies geschieht mit Hilfe sogenannter Sensoren, die auf Druck, Hitze, Licht und Feuchtigkeit reagieren. Der einfachste Sensor ist ein Schalter, der betätigt wird, wenn das gesteuerte Gerät eine bestimmte Stellung erreicht hat. Die Sensoren sind also die Orientierungssinne des Computers, damit er weiß, in welcher Stellung sich beispielsweise ein Roboter-Arm gerade befindet.
Damit Sie das Zusammenspiel zwischen Antriebsmotor und Sensoren bei einem Roboter besser verstehen, wollen wir Schritt für Schritt einen Bewegungsablauf verfolgen. Ein wichtiges Gerät stellt die Verbindung zwischen Computer und Roboter her. Es ist das Interface, das durch Steuersignale vom Computer die Motoren ein-und ausschaltet und die Signale der Sensoren in für den Computer verständliche Signale umwandelt. In Bild 1 sehen Sie ein Interface des Fischertechnik-Computing-Kasten und Ttechnic Control-Baukasten von Lego.
Um einen Roboter zu bewegen, gibt es zwei Arten von Motoren: die Schrittmotoren und Gleichstrommotoren. Bei den Schrittmotoren legt man nur die Anzahl der Schritte fest, um die sich der Motor drehen soll. Zum Beispiel zwanzig Schritte, um den Roboter von Punkt A nach Punkt B zu schwenken. Diese Schrittmotoren können sehr genau positioniert werden, sind allerdings auch sehr teuer. Vor allem, wenn sie einen kleinen Schrittwinkel haben, also sehr präzise sind.
Gleichstrommotoren sind demgegenüber viel billiger und haben den Vorteil, daß sie ein hohes Drehmoment besitzen. Sie sind sehr stark und können damit ein hohes Gewicht in Bewegung setzen. Außerdem sind sie schnell, die Bewegungsphase ist also kürzer. Der Nachteil dieser Motoren ist. daß sie nicht so genau zu positionieren sind wie die Schrittmotoren. Zwar kann man ohne weiteres einfach die Zeit bestimmen, die der Motor braucht, um von Punkt A nach Punkt B zu kommen. Allerdings ist diese Methode sehr ungenau, weil sich die Laufzeit des Motors leicht ändern kann, zum Beispiel wenn der Roboter-Arm belastet wird oder Spannungsschwankungen auftreten. Wir brauchen also etwas, das zu jedem Zeitpunkt die genaue Position des Roboters bestimmen kann.
Zur Positionsbestimmung gibt es mehrere Varianten. Eine sehr einfache, aber auch recht ungenaue Form ist das Zählen der Umdrehungen mit einem mechanischen Schalter. Die Schildkröte von Fischertechnik in Bild 2 orientiert sich nach diesem Prinzip. Dabei ist eine Scheibe mit zwei Noppen so angebracht, daß sie sich mit dem Motor zusammen bewegt und jede halbe Umdrehung einen Schalter betätigt. Der Computer zählt also zwei Impulse pro Umdrehung des Motors. Das ist sehr wenig, reicht aber zur Bewegung der Schildkröte aus, die nicht so genau sein muß.
In Bild 3 sehen Sie den Roboter-Arm von Lego Dieses Gerät verwendet einen Fotosensor als Impulsgeber. Vor dem Sensor ist eine Scheibe angebracht, die in gleichgroße helle und dunkle Segmente unterteilt ist. Durch eine Verbindung mit dem Motor dreht sich diese Scheibe und es wandert abwechselnd eine helle und eine dunkle Flache am Sensor vorbei. Bei der hellen Fläche trifft Licht auf den Sensor. Der laßt daraufhin den Strom fließen, wirkt also wie ein Schalter. nur verschleißfreier als die mechanische Lösung.
Eines ist bei Motoren jedoch wichtig: Sie funktionieren nach dem Prinzip der Trägheit, das heißt sie brauchen, wenn sie erstmal in Bewegung sind, einen gewissen Bremsweg, bis sie zum Stillstand kommen. Diese Verzögerung muß man schon im Programm berücksichtigen. da man sonst eventuell über das Ziel hinausschießt.
Von der Hardware-Seite ist der Roboter fertig. Jetzt fehlt nur noch die Software. Hier wird es schon etwas komplizierter, denn der Computer muß Daten empfangen und gleichzeitig welche senden Natürlich geht das bei den Heimcomputern nicht gleichzeitig, egal ob es ein C 64. ein PC-Kompatibler oder ein Atari ST ist. Echte Parallelverarbeitung oder Multitasking funktioniert nicht mit den in diesen Computern eingebauten Prozessoren Statt dessen macht der Computer etwas Ähnliches: Er arbeitet eine kurze Befehlssequenz von einem Programm ab. schaltet in das nächste Programm, bearbeitet dort eine Befehlssequenz und springt danach wieder zurück zum ersten Programm, um dort weiterzumachen. Mit dem sehr schnellen Umschalten zwischen Senden und Empfangen erweckt das Programm den Anschein, daß es Multitasking kann Aber keine Sorge, es hört sich komplizierter an als es in Wirklichkeit ist. Denn man braucht kein Assembler-Spezialist zu sein, um Roboter zu programmieren. Alle Aktionen kann man ganz bequem von Basic aus programmieren.
Dies ist im wesentlichen alles, was ein Roboter zum Leben braucht. Wie die Problematik der Steuerung bei den einzelnen Modellkästen gelöst wurde, haben wir schon angesprochen Hier bietet sich ein weites Betätigungsfeld für experimentierfreudige Computensten. Denn Roboter zu steuern ist bei weitem nicht alles, was man mit Bausteinen. Motoren, Sensoren und Computer machen kann. Ein weiteres Gerät ist zum Beispiel ein Plotter. Präzision spielt dabei eine sehr große Rolle. Deshalb hat man beim Fischertechnik-Plotter auch Schrittmotoren verwendet. da normale Gleichstrommotoren in ihrer Ganggenauigkeit nicht ausreichen. Lego verwendet für seinen Plotter dennoch Gleichstrommotoren, allerdings mit den entsprechenden Impulsgebern. Damit wird ein Teil der Ungenauigkeit ausgeglichen.
Es gibt noch einen weiteren Aspekt in der Robotik, den wir bis jetzt unberücksichtigt ließen: die Antriebsform. Also auf welche Art und Weise ein Roboter oder die oben erwähnte Schildkröte sich bewegen. Der Roboter-Arm kann sich beispielsweise um die eigene Achse drehen, wie der Lego-Roboter. Dann kann er die Gelenke abknicken und, wie bei großen Industrie-Robotern üblich, einzelne Glieder um die Langsachse drehen. Zum Beispiel so. wie wir unseren Unterarm normalerweise um etwa 260 Grad verdrehen können Während einfache Industrie-Roboter etwa vier bis fünf solcher Bewegungsachsen besitzen. können es bei aufwendigen Einsätzen, zum Beispiel als Schweiß-Roboter in der Automobil-Industrie. acht bis zehn Bewegungsachsen sein.
Bei so vielen Achsen kann man einen Roboter schon millimetergenau an jede Stelle plazieren, die in seinem Schwenkbereich liegt. Doch wie bewegt ein Computer eine Schildkröte auf nur zwei Rädern? Richtig, wie ein Kettenfahrzeug. Man treibt jedes Rad mit je einem Motor an. Möchte man geradeaus fahren, dann laufen die Motoren parallel. Bei einer Rechtskurve steht der rechte Motor, während der linke weiter nach vorne fährt. Analog dazu verhält es sich bei einer Linkskurve. Fährt der eine Motor zurück, während der andere nach vorn fährt, dann dreht sich die Schildkröte um die eigene senkrechte Achse.
Unsere Schildkröte bewegt sich nun, kann aber noch nicht sehen. Also braucht sie noch Fühler, die feststeilen, wenn ein Hindernis im Weg ist. Wir bringen vorn an unserem Vehikel eine Stoßstange an, die mit einem Schalter gekoppelt ist. Ein Zusammenstoß betätigt den Schalter, so daß der Computer auf dieses Ereignis reagieren kann Zum Beispiel geben wir im Programm an. daß sich die Schildkröte um 90 Grad nach rechts drehen soll, wenn der Schalter betätigt wird. Schon erwacht unser kleines Tier zu einem recht interessanten Eigenleben, das man programmtechnisch noch weiter ausbauen kann. Zum Beispiel wie sich eine Schildkröte in einem Labyrinth verhalten muß. damit sie sich nicht »verläuft" (immer rechts entlanggehen).
Es gibt noch wesentlich mehr Anwendungsbeispiele, als die hier angesprochenen. Sie haben sicher erkannt, mit welchen Problemen sich die Roboter-Hersteller auseinandersetzen müssen, damit sich der Blechkamerad auch einigermaßen intelligent verhält. Das Gebiet der Roboter-Steuerung ist sehr vielfältig. Beschäftigen Sie sich doch auch mal damit, es ist mit Sicherheit mehr als nur eine Spielerei. (kl)