Teilbericht

Das Inhaltsverzeichnis steht hier.

Orkney Science Festival 1995 SAUS: Orkney Science Festival 1995

Autoren:

Datum:

Stichworte:


Zusammenfassung:

Sechs Teilnehmer des Projekts SAUS nahmen im September 1995 an der "Manchester Summer School in Robotics" teil. Diese Verstaltung fand im Rahmen des "Orkney Science Festivals" in Kirkwall (Schottland) statt. Zum Programm gehörten zwei jeweils in acht Blöcke aufgeteilte Vorlesungen von Ulrich Nehmzow zum Thema "Autonome mobile Roboter" und von Ian Richardson zum Thema "Sensorsignalverarbeitung" sowie praktische Übungen an Fischer-Technic-Robotern, die in einem Wettkampf gipfelten.


Einleitung

Vom 5. bis zum 14. September 1995 fand im Rahmen des fünften Orkney Science Festivals die erste Manchester Summer School in Robotics in Kirkwall (Schottland) statt. Unser Projekt war vertreten durch Dominik Dunekamp, Axel Lankenau, Oliver Meyer, Thomas Schwarzenbacher, Albert Wilkes und Jörg Zabel. In den folgenden drei Abschnitten gehen wir näher auf die drei Stützpfeiler der Summer School ein: Dr. Ulrich Nehmzows Vorlesung zum Thema "Autonome mobile Roboter", Dr. Ian Richardsons Vorlesung "Sensorsignalverarbeitung" und die praktischen Übungen mit dem abschließenden Wettkampf der Roboter.

Vorlesung: Autonomous Mobile Robots

Ulrich Nehmzows Vorlesung begann mit einer recht allgemeinen Einführung in den Bereich der Robotik. Dabei wurden verschiedene Klassen von Robotern vorgestellt, von denen in dieser Vorlesung nur die mobilen betrachtet werden sollten. Der Vortragende erläuterte das Dreieck aus Aufgabe, Roboter und Umgebung. Unter diesem Schlagwort versteht man die These, daß sich der Begriff des intelligenten Verhaltens eines Agenten immer auf eine bestimmte zu lösende Aufgabe in einer bestimmten Umgebung bezieht. Schließlich wurde noch das Thema Experiment vs. Simulation angesprochen. Dr. Nehmzow betonte die Wichtigkeit der Experimente mit realen Robotern, die durch die Tatsache gegeben sei, daß es niemals eine Simulation geben werde, die exakt der Welt entspräche. Außerdem seien in Simulationen stets nur die Sachverhalte wiederzugeben, die man bereits kennt - dies sei aber meist nur ein geringer Teil eines komplexen Problems.

In der zweiten Vorlesung wurden verschiedene Steuerungsarchitekturen für mobile Roboter diskutiert. Nach einem geschichtlichen Überblick, der unter anderem die fehlgeschlagenen Bemühungen von Minsky und anderen, einen Tischtennis spielenden Roboter zu entwickeln, beinhaltete, wurde ein Ansatz aus dem Bereich der symbolischen KI vorgestellt: der Sense-Think-Act Cycle. Dieser Ansatz bildete bis vor kurzem die Grundlage fast aller Forschung in der Robotik. Die Idee ist ein Kreislauf aus Wahrnehmung der Umwelt (Sense), Interpretaion der Sensordaten unter Verwendung von vorgegebenem Wissen über die Welt in Symbole (z.B. Tisch, Stuhl etc;Think) und der Ableitung einer angemessenen Reaktion (Act). Die Schwierigkeiten, die dieser Ansatz mit sich bringt, sind vor allem die enorme benötigte Rechenkapazität und die fehlende Repräsentierbarkeit von Unsicherheiten. Eine Reihe von vielversprechenden alternativen Ansätzen wie Active Vision (s.u.) auf dem Feld der Bilderkennung oder die Subsumption Architecture (In der Subsumption Architecture wird eine Aufgabe in mehrere hierarchisch angeordnete Module zerlegt, die jeweils für bestimmte Aufgaben zuständig sind (von niederen Anforderungen wie Hindernisvermeidung bis hin zu höheren komplexen Planungsaufgaben). Dabei haben die "unteren" Module höchste Priorität, d.h. falls gerade ein höheres Modul (z.B. Navigation durch eine Tür) die Kontrolle über den Roboter hat, und es wird ein Hindernis entdeckt, geht die Steuerung an das Hindernisvermeidungsmodul über.) veranlaßten Dr. Nehmzow zu der Zusammenfassung, daß ein moderner Steuerungsansatz für mobile Roboter keine Modelle der Welt, keine Mittel-Zweck-Analyse und vor allem keine Planung auf der Basis symbolischer KI verwenden solle. Stattdessen seien eine enge Kopplung zwischen Wahrnehmung und Handlung (Sensoren und Aktoren) vorzunehmen und die Funktionalität müsse autonom erlernbar sein. Im Gegensatz zur funktionalen Zerlegung schlägt er eine verhaltensorientierte Dekomposition vor. Die Idee bei diesem neuen Paradigma ist die Aufteilung des komplexen "intelligenten Verhaltens" in mehrere einfachere Elementarverhalten wie zum Beispiel Hindernisvermeidung, Kartenbildung und Exploration. Wird die Steuerung eines Roboters auf diese Art gestaltet, so geht beim Ausfall einer dieser Komponenten auch "nur" eines dieser Grundverhalten verloren. Wenn in der funktionalen Zerlegung, bei der die Aufgaben in die verschiedenen Operationen eingeteilt sind, die auf die Eingabedaten (Sensorinput) anzuwenden sind, um die Ausgabewerte (Aktuatoren) zu erhalten, ein Modul ausfällt, steht dagegen sofort die ganze Maschine still.

Im nächsten Block der Vorlesung wurden zunächst natürliche (tierische) Methoden der Navigation vorgestellt. Hintergrund war die Frage, wie die Hauptaufgaben der Navigation (Selbstlokalisation, Wegfindung) in der Natur gelöst werden. Dabei lernten wir, daß sowohl karthesische Karten und die Odometrie als auch topologische Karten und Landmarken zur Navigation verwendet werden. Als Beispiele dienten Ameisen (lokale Landmarken und Odometrie), Bienen (lokale und globale Landmarken) und Vögel (globale Landmarken wie Sterne und Wetterlagen). Besonders beeindruckend war die Schilderung der Navigation der Polynesier, die ohne jegliche technische Unterstützung in der Lage sind, die 6000 Kilometer zwischen Hawaii und Tahiti über den Pazifischen Ozean zurückzulegen. Sie orientieren sich dabei sowohl an den Sternen als auch an lokalen Landmarken wie kleineren Inseln und bestimmten Wettersituationen. Im Anschluß daran hat der Vortragende mehrere Verfahren der Navigation von Robotern vorgestellt, unter anderem die Orientierung an natürlichen Landmarken, einen Lichtkompaß und einen normalen Kompaß. Bei Experimenten mit dem Lichtkompaß wurden in Edinburgh recht gute Ergebnisse erzielt. Dabei sollte ein kleiner Roboter nach einer gewissen Explorationszeit wieder zurück zu seinem Ausgangspunkt navigieren. Problematisch wird die Verwendung eines Lichtkompasses allerdings bei wechselnden Lichverhältnissen, etwa durch umherlaufenden, die Lichtquelle verdeckende Personen. Im Bereich der Orientierung an Landmarken hat man häufig mit dem Problem zu kämpfen, daß verschiedene Situationen in der Welt für den Roboter gleich "aussehen", was dann zu einem Fehlverhalten führen kann. Als Beispiel seien hier zwei Türen in einem Gang erwähnt. Alleine aus den akutellen Sensorinformation ist der Roboter vermutlich nicht in der Lage, zu entscheiden, ob er gerade auf die erste oder schon auf die zweite Tür zusteuert.

Der nächste Teil der Vorlesung beschäftigte sich mit künstlichen neuronalen Netzen und deren Lernmöglichkeiten. Dr. Nehmzow schilderte die Idee dieses Ansatzes und ging kurz auf das menschliche Gehirn ein. In einem historischen Überblick, der vom McCulloch-Pitts-Neuron (1943) über das Perzeptron von Rosenblatt (1962) bis Minsky und Papert (1969) reichte, wurde die Funktionsweise dieser einfachen Konzepte erläutert. Dabei kam auch die Mathematik nicht zu kurz: So wurde die Perzeptron-Lernregel hergeleitet und die Lineare Untrennbarkeit der XOR-Funktion und damit deren Nicht-Repräsentierbarkeit in einem Perzeptron gezeigt.

In der folgenden Vorlesung stellte Ulrich Nehmzow dann ein Belohnungslernverfahren für einfache mobile Roboter vor. Dabei wurde eine Belohnung für eine ausgeführte Aktion dann ausgesprochen, wenn diese Aktion keine Verletzung von bestimmten vorgegebenen Instinktregeln (z.B. "Stoße nirgendwo gegen") zur Folge hatte. Diese Instinktregel(n) werden laufend überwacht. Im Falle der Verletzung einer Instinktregel wird mit Hilfe eines neuronalen Netzes die als angemessene Handlung auf die aktuelle, durch die Sensorwerte bestimmte, Situation durchgeführte Aktion als schlecht bewertet. Mit wenigen Instinktregeln lassen sich recht interessante Verhalten wie zum Beispiel Hindernisvermeidung oder Wand- und Korridorverfolgung realisieren. Ein weiteres Beispiel ist das Schieben eines Pappkartons. Dabei kommt es darauf an, möglichst nicht den Kontakt zu dem Karton zu verlieren, was durch dessen seitliches Wegdriften bei nicht optimalem "Schiebepunkt" erschwert wird. Dr. Nehmzow führte uns noch ein Film vor, der die Mächtigkeit seines Ansatz an folgendem Beispiel verdeutlichte. Ein nur mit den für die Wandverfolgung nötigen Instinktregeln (Dies sind: 1. Wenn möglich, fahre geradeaus und 2. Versuche, nach kurzer Zeit eine Wand zu berühren.) ausgestatteter Roboter fuhr während eines Versuchs versehentlich in eine Sackgasse. Man wollte den Agenten schon per Hand "retten", als der plötzlich völlig autonom, ohne irgendetwas derartiges jemals einprogrammiert bekommen zu haben, aus der Sackgasse herausfuhr, indem er offenbar umlernte (Zu diesem Thema siehe auch (rur95 )).

Vorlesung: Robot Sensor Signal Processing

Das Thema der zweiten Lehrveranstaltung im Rahmen der "Manchester Summer School in Robotics" war das Gebiet des "Robot Sensor Signal Processing", wobei die Verarbeitung von digitalen und analogen Signalen im Hinblick auf die Sensorik eines Roboters betrachtet werden sollte. Diese Vorlesung wurde von Iain E. G. Richardson von der Robert Gordon University Aberdeen gehalten und umfaßte insgesamt 8 Vorlesungen und 2 praktische Übungen. Im Folgenden soll eine kurze Zusammenfassung der Schwerpunkte der einzelnen Veranstaltungen gegeben werden, um einen Eindruck von Aufbau und Inhalten zu vermitteln. Eine detaillierte Beschreibung und Erläuterung der behandelten Themen kann dem Skript zur Vorlesung entnommen werden.

Die Vorlesungen

In der ersten Veranstaltung wurden grundlegende Begriffe der Sensorverarbeitung definiert. Ausgangspunkt dafür war die Notwendigkeit für Agenten, ihre Umwelt wahrnehmen und "verstehen" zu können, um angemessene Reaktionen zu ermöglichen. Daraus ergeben sich dann die Forderungen, daß es möglich sein muß, Informationen mit Hilfe von Sensoren aufzunehmen, diese in brauchbare, weiterverarbeitbare Formen umzuwandeln, sie unter Umständen an andere Agenten oder zentrale Stationen zu übertragen und schließlich die Umwelt in in gewünschter Weise zu verändern. Die hierfür bislang bekannten und bewährten elementaren Konzepte wurden noch kurz erwähnt und somit die Inhalte der folgenden Veranstaltungen motiviert.

Die zweite Vorlesung beschäftigte sich mit den Konzepten verschiedener Aktoren und Sensoren. Vorgestellt wurden pneumatische Aktoren, die i. a. recht einfach zu konstruieren, aber schwierig zu kontrollieren sind, hydraulische Aktoren, die wesentlich kräftiger und exakter steuerbar als die zuvor angesprochenen, dafür aber teurer und anfälliger sind und elektrische Aktoren, die aufgrund ihres Funktionsprinzips, ihrer guten Kontrollierbarkeit und ihres geringen Preises die meistens beste Wahl für mobile Roboter darstellen. Die Klasse der Sensoren wurde in fünf Gebiete unterteilt:

Inhalt der dritten Vorlesung war die Übertragung von Sensordaten. Als ein wichtiges Anwendungsgebiet wurde hierbei die Telerobtik herangezogen, d. h. die Steuerung eines entfernten Agenten von einer zentralen Station über eine Funk- oder Kabelverbindung. Dabei ging Iain Richardson zuerst auf die Darstellung von Informationen als zeitvariiernde Signale und deren Eigenschaften ein; insbesondere betrachtete er die Zerlegung periodischer Funktionen in ihr Frequenzspektrum um damit einen bezug zu übertragbaren Informationen bei einer gegebenen Bandbreite herzustellen. In diesem Zusammenhang wurden dann die Eigenschaften und Einsatzbereiche verschiedener Übertragungsmedien (unterschiedliche Kabel, Funk, Infrarot, Unterwasser-Übertragung) behandelt.

Die angesprochenen Themen wurden dann in der vierten Vorlesung weiter vertieft, die sich mit der Übertragung digitaler Daten auseinandersetzte. Zuerst grenzte Iain Richardson analoge Daten von digitalen ab und betrachtete kurz die Umwandlungsmöglichkeiten und -probleme. Er betonte die Vorteile der Übertragung und Speicherung digitaler Informationen, insbesondere in bezug auf die einfachere Erkennung und Behebung von Fehlern und die höhere Robustheit bei schlechten (verrauschten) Übertragungen. Anschließend wurden noch Möglichkeiten präsentiert, wie digitale Informationen unter Zuhilfenahme verschiedener, auch analoger Systeme übermittelt werden können. Beispielhaft wurde die Datenübertragung in dem Telefonnetzwerk, dem ISDN-Netzwerk, Local-Area-Netzwerken (LAN) und dem Internet kurz angerissen. Schließlich endete die Vorlesung mit der Betrachtung der Zuverlässigkeit von digitalen Übertragungen und es wurden Verfahren zur Erkennung und Behebung von Übertragungsfehlern dargestellt.

In der fünfte Veranstaltung wurden dann Möglichkeiten der Umwandlung, Aufbereitung und Anpassung von Signalen (Signal Processing) aufgezeigt, was für die Weiterverarbeitung von gewonnenen Informationen teilweise unerläßlich ist. Daten der realen Welt sind gewöhnlich analog und müssen zur effizienten Weiterverarbeitung in eine digitale Repräsentation umgewandelt werden. Wie auch bei der späteren Nutzung der Informationen ist es für die Umwandlung nötig, Störsignale wie z. B. Leitungsrauschen, Sensorfehler etc. zu eliminieren bzw. vom Nutzsignal zu trennen. Hierfür eignen sich im allgemeinen Filter, die in der Lage sind, teile des Signals zu entfernen und/oder zu verstärken. Iain Richardson stellte an dieser Stelle die Standardfilter Hoch-, Tief- und Bandpaß in analoger Bauweiße vor. Anschließend behandelte er noch einmal die Probleme der Analog/Digital-Wandlung intensiver und ging insbesondere auf den Zusammenhang zwischen Samplingrate (Anzahl der gemessenen Werte pro Sekunde) und Bandbreite des Übertragungsmediums ein. Schließlich erläuterte er noch die Funktionsweise von digitalen Filtern und behandelte in diesem Zusammenhang die Fourier-Transformation, die eine mathematische Zerlegung eines Signales in sein Frequenzspektrum ermöglicht.

"Image Processing" war die Überschrift der folgenden Vorlesung, die sich mit der Notwendigkeit und den Möglichkeiten der Bildverarbeitung und -aufbereitung befasste. Bildverarbeitung ist unerläßlich, um aus der "Flut" von Informationen, die in einem Foto oder Video vorhanden sind, die für eine gegebene Aufgabe relevanten Daten zu extrahieren. Dafür ist es zuvor häufig notwendig, die Qualität der Bilder in Hinblick auf die beabsichtigte Weiterverarbeitung zu verbessern. Bekannte Techniken sind hier Kontrast- und Farbveränderung und Rauschreduktion. Die hierfür verwendeten Filter wurden vorgestellt und erläutert. Der zweite Teil der Veranstaltung beschäftigte sich dann mit der Interpretation von Bildinhalten und den dafür benötigten Werkzeugen. Iain Richardson präsentierte den "Sobel-Operator" zur Kantendetektion und zwei darauf basierende stark vereinfachte Algorithmen zur Mustererkennung, von denen der eine auf dem Vergleichen mit intern bekannten Objekten und der andere auf dem Zählen der Anzahl der detektierten Eckpunkte beruht. Im letzten Abschnitt wurde dann der direkte Bezug zur Robotik hergestellt und das Thema "Machine Vision" betrachtet. Hier betrachtete Iain Richardson in erster Linie das Problem des 3D-Sensing: Die Gewinnung von Daten über die Räumlichkeit von Objekten. Angesprochene Varianten waren "Stereo Vision", also die Gewinnung von Räumlichkeit mit Hilfe von zwei Kameras und Triangulation, "Ultrasonic Imaging", also die Gewinnung von 3D-Informationen mit Hilfe hochauflösender Ultraschallsensoren und "Pattern projection", die Projektion paralleler Linien auf das betrachtete Objekt und deren Aufnahme mit Hilfe einer Kamera.

Die siebte Veranstaltung beschäftigte sich mit den Möglichkeiten der Video- und Bildkompression. Die Datenmenge, die bei der Aufnahme von Bildern und insbesondere Filmen entsteht, ist gewöhnlich um ein Vielfaches zu groß, um sie in "vernünftiger" Zeit oder gar in Echtzeit übermitteln zu können. Deswegen ist es unbedingt notwendig, die anfallenden Daten zu komprimieren. Vorgestellt wurden hier Verfahren, welche die Redundanz in Bildinformationen ausnutzen, d. h. große ähnliche Flächen (bei Bildern) bzw. sich über die Zeit nicht oder nur wenig ändernde Bildteile (bei Filmen) werden nicht vollständig übertragen, sondern als zusammenfaßbarer "Block" betrachtet. Iain Richardson stellte die Varianten des "Linear Prediction" (Fax-Komprimierung), "JPEG" (variable verlustbehaftete Bildkomprimierung, basierend auf der diskreten Cosinustransformation) und "MPEG" (auf den Ideen des "JPEG" aufsetzende Videokomprimierung) vor.

In der letzten Veranstaltung dieser Vortragsreihe wurden zwei Beispiele für die Anwendung von Methoden der Telerobtik gegeben:

  1. Der teilautonome Roboter "HyBall" wurde für die Unterwasserinspektion von Öl- und Gaspipelines konstruiert. Er verfügt über drei Propeller, mit denen er sich prinzipiell frei im Raum bewegen kann, und einen Greifarm. Seine Umwelt nimmt er mit Hilfe einer Farb-CCD-Kamera und einen Tiefensensor war. Er ist mit einem Kabel zur Stromversorgung und zur Übermittlung von Daten mit einer Station an der Oberfläche verbunden. HyBall ist in der Lage, selbständig einer einmal gefundenen Pipeline zu folgen, was zu einer wesentlichen Erleichterung des Betriebs für die Person an der Kontrollkonsole führt. Die Richtung der Pipeline wird mit Hilfe der Farbkamera und der Detektion der Kanten der Pipeline ermöglicht und war auch Bestandteil einer der Übungen im Rahmen der Veranstaltung (s. u.).
  2. Bei dem Channellink-Experiment wurde der mobile Roboter "Forty-Two" an der Manchester University von einigen Personen an der Universität Bremen über das Internet ferngesteuert. Der Roboter lieferte sämtliche Sensordaten nach Bremen, wo diese mit Hilfe eines Hilfsprogrammes ausgewertet wurden und die betreuenden Personen dann entschieden, welche Bewegungen auszuführen seien. Einen Plan von dem Robotiklabor in Manchester anzufertigen, ein einfaches Labyrinth zu durchfahren, den Roboter durch eine Tür zu navigieren und einen Pappkarton durch die Tür zu schieben waren dabei die zu bewältigenden Aufgaben. Das wesentliche Problem, was sich ergab, waren die stark ansteigenden Übertragungszeiten in der Zeit zwischen 8 und 10 Uhr morgens. Gegen Ende des Experiments betrug die Verzögerung bereits etwa 6 Sekunden, was eine Steuerung enorm schwierig machte.

Die Übungen

An den ersten beiden Nachmittagen fanden, anstelle der Robotik-Praktika an den bereits erwähnten Fahrzeugen, Übungen zu den von Iain Richardson vorgestellten Themen statt. Diese befaßten sich mit den folgenden Inhalten:

  1. Signalverarbeitung und Datenübertragung Die Bearbeitung von Übungsaufgaben mit Hilfe eines Programms zur Signalmanipulation und eines Programms (TRANSLINK), das die grundlegenden Elemente eines digitalen Kommunikationssystems anschaulich beschrieb, stand im Mittelpunkt dieser praktischen Übung. Im ersten Teil sollten verschiedene überlagerte Sinuskurven generiert und anschließend mit Hilfe der Fast-Fourier-Transformation analysiert werden; weiterhin mußten einige Fragen zu der Erzeugung von Rechtecksignalen aus der Addition mehrere Sinuswellen beantwortet werden, die sich insbesondere auf die beinhalteten Frequenzen und die zur Übertragung notwendigen Bandbreiten bezogen. Der zweite Teil bestand dann im wesentlichen aus dem Beantworten von allgemeinen und speziellen Fragen zur Datenübertragung unter Zuhilfenahme des erwähnten Programms.
  2. Bildverarbeitung Auch diese Übung gliederte sich in zwei Teile. Im ersten sollten zuerst verschiedene Filter z. B. zur Kontrastverbesserung, zur Farbverfremdung, zur Kantendetektion etc. auf ein gegebenes Bild angewandt und die Ergebnisse beschrieben werden. Weiterhin sollte die Funktionsweise von bislang nicht erwähnten Filtern erkannt und erklärt werden. Anschließend sollte mit unterschiedlichen Verfahren zur Reduzierung von Bildrauschen experimentiert werden. Es zeigte sich, daß Bildrauschen nicht "rückstandslos" eliminierbar ist, sondern immer Fehler oder Ungenauigkeiten auf dem Bild zurückbleiben. Der zweite Teil befaßte sich dann mit dem bereits oben genannten Problem, die Richtung einer Pipeline aus einem verrauschten und sehr dunklen Bild zu extrahieren. Hier wurden verschiedenen Verfahren übereinandergelegt, um zu dem gewünschten Ergebnis zu gelangen: Zuerst wurde mittels eines "Median-Filters" das Grundrauschen verringert, danach wurden die vorhandenen Kanten detektiert und anschließend mit Hilfe einer Schwellwertfunktion alle "schwachen" Kanten entfernt. Zuletzt blieb nur noch die Hough-Transformation auf das Bild anzuwenden, die nach deutlichen Liniensegmenten in einem Bild sucht und diese in eindeutige Linien umwandelt. Als Ergebnis erhielt man eine saubere Kantenbeschreibung der Lage der Pipeline in dem Bild.

Entwicklungsumgebung und Hardware

Im folgenden soll die Entwicklungsumgebung im allgemeinen und die Hardware im speziellen erläutert werden, die wir in Orkney vorgefunden und auf der wir unsere "Algorithmen" implementiert haben.

Entwicklungsumgebung

Programmiert wurde in einer C-ähnlichen Sprache auf PC´s. Ein Compiler kompilierte den C-Quellcode in einen microprozessorspezifischen Maschinencode, der dann über die serielle Schnittstelle in den Arbeitsspeicher (an den Reset-Vektor) des Prozessors auf dem Roboter geladen wurde. Nach einem Reset wurde dann das Programm ausgeführt. Nach dem Hochladen des Programms auf den Roboter über die serielle Schnittstelle gab es keine Interaktionsmöglichkeit vom PC aus, daraus folgt, daß der Roboter völlig autonom und auf sich gestellt war. Die einzigen konventionellen Eingabemöglichkeiten zu diesem Zeitpunkt waren zwei Taster und diverse DIL-Schalter (z.B. zum Umschalten zwischen Verhaltensweisen). Die Komplexität der Programme war meist auf einfache Sensor - Aktor - Relationen und auf eine geschickte Verarbeitung der Sensordaten beschränkt. An eine Kartierung der Umgebung war allein schon wegen der begrenzten Speicherresourcen und der fehlenden Visualisierungsmöglichkeit nicht zu denken. Trotzdem waren diese Einplatinenrechner schon recht potent. Der Motorola 68HC11 - Microprozessor verfügte über genügend Arbeitsspeicher (für Programmcode), wenn man von der Verwendung von großen Feldern oder anderen "Speicherfressern" absah. Im Vergleich mit unserem Projekt hatte damit jeder Roboter etwa soviele Funktionen wie eine CAN-Bus-Karte (12 digitale und 16 analoge Ports über Multiplexer (4 echte analoge Eingänge) Über aktuelle wichtige Programmzustände konnten sich die Entwicklungsteams durch ein zweireihiges LC-Display oder durch einen Piezo Summer mit einstellbarer Tonhöhe informieren lassen.

Sensoren - Aktuatoren

Die Roboter hatten zwei unabhängig ansteuerbare Motoren, der Roboter konnte sich also auf der Stelle drehen. Anderseits ließen sich durch unterschiedliche Geschwindigkeiten auf den Antriebsrädern auch Kreisbögen jeden Durchmessers fahren. Schwieriger war es schon genau geradeaus zu fahren, weil die Motoren bzw. die Leistungstransistoren zur Ansteuerung derselben, offensichtlich nicht unbedingt für gleichen Vortrieb sorgten. Die Detektion eines Hindernisses, welches sich nicht durch einen taktilen Reiz offenbart, wäre über die Motorlast (bzw. über den Spannungsabfall über den Motoren) eingeschränkt meßbar gewesen. Tatsächlich scheiterte ein bremischer Roboter daran das Ziel zu erreichen, weil er sich mit der Achse unglücklich verfangen hatte. Zwei taktile Sensoren waren bereits installiert, ein weiterer Taster konnte von jeder Gruppe nach Belieben verwendet werden. Einige Gruppen benutzten diesen zur Detektion eines rückwärtigen Hindernisses. Vier LDRs (lichtempfindliche Widerstände) dienten als Sensoren für sichtbares Licht, ein Verwendungsvorschlag war die Nutzung derselben für den differentiellen Lichtkompass, um die Orientierung des Roboters zu ermitteln. Nach einigen Versuchen entschieden sich die meisten Gruppen aber dafür, diesen nicht zu verwenden, weil ein unverhältnismäßig hoher Aufwand einem kleinen zu erwartenden Nutzen gegenüberstand. Wir wissen nicht, ob man - technisch gesehen - US-Sensoren unserer Bauart hätte anschließen können, weil wir nicht sicher sind, ob die serielle Schnittstelle der Roboterkarte auch zum Senden (also bidirektional) konzipiert war. Die zwei Emitter und die drei Rezeptoren für IR-Licht hatten zwei verschieden einstellbare Modulationsfrequenzen (100 Hz und 125 Hz), um nicht mit anderen Robotern zu interferieren Diese Sensoren wurden leider digital gemessen und dann über die Zeit integriert, d.h. die Meßwerte hingen nicht allein von der Intensität der einfallenden Infrarotstrahlung ab, sondern auch in hohem Maße von der Zeit, die in diese Richtung gemessen wurde. Geht man davon aus, daß die digitalen Eingänge immer bei denselben Spannungspegeln schalten und daß die Energie der einfallenden infraroten Strahlen bei Stillstand des Roboters konstant ist, so müßte diese Integration (durch die Diskretisierung in zwei Werte) nach einer gewissen Zeit eigentlich immer auf 0 % oder 100 % Prozent sein. Dies war jedoch nicht so. Dies hat uns deutlich vor Augen geführt, daß es Verfahren gibt, die in einer Simulation wenig brauchbare Ergebnisse liefern würden, in der Realität aber sehr wohl funktionieren. Nichtsdestotrotz wäre eine (modulierte) analoge Messung der einfallenden Infrarotstrahlung einer digitalen aber vorzuziehen, weil diese dann überhaupt nicht mehr von der Zeit abhängt. Es muß dann eben gar nicht mehr über die Zeit integriert werden.

Versuche mit den Robotern

Neben den sechs Bremern haben noch fünfzehn weitere Studenten aus anderen Ländern an der Summer School teilgenommen. Jeweils drei bekamen einen der Roboter zum Experimentieren zur Verfügung gestellt. Die Bremer wurden dabei in zwei Gruppen aufgeteilt. Die Roboter der beiden "Teams" wurden zum einen "Itzehoe" und zum anderen "Luna" genannt. Sie waren mit zwei taktilen und drei Infrarotsensoren ausgestattet. Nach Bedarf konnten auch noch lichtempfindliche Sensoren hinzugefügt werden. Im folgenden werden wir den bereits angsprochenen Wettbewerb und die diesbezüglichen Strategien der beiden Gruppen kurz erläutern.

Der Wettbewerb

Der bereits angesprochene Wettbewerb war in zwei verschiedene Rennen unterteilt, die im folgenden beschrieben werden.

Das erste Rennen

(Abbildung: Der Aufbau beim ersten Wettkampf ) Beim ersten Rennen wurde die Wettkampffläche, so aufgeteilt, daß sich in zwei sich diagonal gegenüberliegenden Ecken jeweils eine Bake befand (siehe Bild contest1). Diese Baken haben auf unterschiedlichen Frequenzen Infrarotsignale gesendet. Die Roboter waren in der Lage, diese Signale zu orten und zu verfolgen, was auch genau der Aufgabenstellung entsprach: Sie wurden zwischen den beiden Baken abgestellt und sollten nun in möglichst kurzer Zeit beide Baken finden und berühren, wonach sich diese kurzzeitig ausgeschaltet haben. Wie die Fahrzeuge dies lösen sollten, das heißt wie sie den Signalen folgen und den Wänden ausweichen sollten, blieb den einzelnen Gruppen überlassen.

Das zweite Rennen

(Abbildung: Der Aufbau beim zweiten Wettkampf ) Beim zweiten Rennen bestand die Wettkampffläche aus einem Korridor, der ungefähr die Breite von fünf nebeneinanderstehender Roboter hatte (siehe Bild contest2). An beiden Enden dieses Korridors befand sich jeweils eine Linie. An beiden Linien wurde jeweils ein Fahrzeug aufgestellt. Beide hatten die Aufgabe, den Korridor zu durchqueren und die gegenüberliegende Linie schneller zu überqueren als der "Gegner". Damit die Roboter ihren Weg schneller finden und die Richtung dann beibehalten konnten, wurde an jedem Ende des Korridors hinter den Linien jeweils eine Bake aufgestellt, wobei beide auf unterschiedlichen Frequenzen Signale gesendet haben.

Wettkampfbedingungen

Das erste Rennen bestand aus drei Durchläufen. Bei zwei dieser Durchläufe sind die Fahrzeuge einzeln gefahren, wobei jeweils die Zeiten notiert wurden. der dritte Durchgang war so gestaltet, daß alle sieben Roboter gleichzeitig auf der Wettkampffläche standen. Ziel dabei war für jeden Roboter, möglichst schnell eine Bake zu finden und diese auszuschalten. Die Schwierigkeit dabei war natürlich, daß alle anderen Fahrzeuge dasselbe versucht und die Baken ihre Signale kurzfristig ausgeschaltet haben, nachdem sie berührt wurden. Die Folge war eine kurze Orientierungslosigkeit einiger Roboter, da sie ihr Signal verloren haben. Auch hier wurden die Zeiten der einzelnen Fahrzeuge notiert. Die drei Ergebnisse wurden dann addiert und die vier besten Teams haben sich für den zweiten Lauf qualifiziert. Bei diesem ist dann jeder Roboter einmal gegen jeden anderen angetreten. Nach Auswertung aller dadurch erhaltenen Ergebnisse standen sich die beiden Fahrzeuge mit den meisten Siegen in einem "Best of three"- Finale nocheinmal gegenüber Der hier ermittelte Gewinner war dann auch der endgültige Sieger.

Es hat sich während des gesamten Wettkampfes gezeigt, daß die beiden Teams aus Bremen durch ihr Vorwissen auf dem Gebiet der Autonomen mobilen Roboter den anderen Gruppen gegenüber im Vorteil waren, da diese sich zunächst einmal mit ganz grundlegenden Strategien zum Ausweichen von Hindernissen beschäftigen mußten. Dieser Vorsprung schlug sich letztendlich auch in den Ergebnissen nieder, denn beide Bremer Teams bestritten das Finale, in dem das Itzehoe-Team einen souveränen Sieg davontrug.

Das Itzehoe-Team

Hier wird nun ein kurzer Bericht der Gruppe folgen, die mit dem Roboter Itzehoe experimentiert hat. Diese Gruppe bildeten Dominik Dunekamp, Axel Lankenau und Oliver Meyer. Dabei soll das Augenmerk im wesentlichen auf die Implementierung der Ideen gerichtet werden, die wir speziell für den Wettbewerb entwickelt haben. Diese Ideen beschäftigen sich ganz allgemein mit Such- und Ausweichstrategien. Gesucht werden sollten die Baken, die in der Wettbewerbsbeschreibung erwähnt wurden und ausgewichen werden sollte den Wänden und anderen Robotern.

Anordnung der Sensoren

Da wir bei beiden Wettbewerbsläufen eine Orientierung anhand der Infrarotbaken vorgenommen haben, basierten unsere Ausweichstrategien lediglich auf den Werten der taktilen Sensoren, um Konfusionen bei den Infrarotsensoren zu vermeiden. Um die Baken zu detektieren, haben wir zwei der drei Infrarotsensoren vorne am Roboter rechts und links angebracht, um sie zu finden, haben wir beim Folgen der Signale permanent die Differenz beider Sensoren berechnet und daraufhin eine der Größe der Differenz angemessene Richtungskorrektur vorgenommen. Das sah so aus, daß wir bei jeder Berechnung dem stärkeren Signal gefolgt sind, sobald die Differenz der beiden Sensoren einen gewissen Schwellwert überschritten hatte. Das Ergebnis war eine schön anzuschauende Kurvenfahrt, die allerdings auch von uns beabsichtigt wurde. Den dritten Infrarotsensor hatten wir hinten am Fahrzeug angebracht, damit wir die Signale der Baken auch empfangen können, wenn Itzehoe ihnen nicht frontal zugewandt ist. Nach einer Drehung kann dann eine konkrete Richtungsbestimmung vorgenommen werden. Ausgehend von diesen allgemeinen Überlegungen kommen wir nun auf die weiterführenden Strategien zu beiden Wettbewerbsläufen.

berlegungen zum ersten Rennen

Beim ersten Rennen wollten wir auf jeden Fall ein zufälliges Herumfahren von Itzehoe vermeiden, bei dem die Baken gefunden werden sollten. Unsere Idee war stattdessen ein geplantes Explorationsverhalten, bei dem Itzehoe spiralförmig seine Umgebung erkunden sollte, bis das Signal einer Bake gefunden wird. Ein solches Verhalten findet man auch in der Natur wieder. In Ulrich Nehmzows Vorlesung über Tiernavigation wurde als Beispiel die Wüstenameise genannt, die in immer größeren Kreisbahnen versucht, ihren Bau wiederzufinden. Danach wird, wie bereits beschrieben, eine Annährung und das Kontakten der Bake mit Hilfe der Differenz der vorderen Infrarotsensoren erreicht. Um sicherzustellen, daß die Baken auch wirklich berührt wurden, hat sich Itzehoe gedreht und dabei überprüft, ob noch ein Signal empfangen wurde. Außerdem sind wir davon ausgegangen, daß die taktilen Sensoren kurz zuvor etwas berührt haben müssen. Diese Kriterien reichten aus.

Neben diesen erfolgreich implementierten Strategien gab es noch einige Ideen, die sich jedoch aufgrund der vorhandenen Entwicklungsumgebung nicht realisieren ließen. Beispielhaft wollen wir zwei davon kurz erwähnen, die wir für den ersten Wettbewerb umsetzen wollten.

Ausgehend davon, daß unsere Programmierarbeit auf den Gewinn des Wettbewerbs ausgerichtet war, richteten sich unsere ganzen Überlegungen darauf, Zeit zu sparen. Die am besten geeignete Stelle im Wettkampfablauf war der Zeitpunkt nach dem Ausschalten der ersten Bake. Wir sind davon ausgegangen, daß beide Baken zu weit voneinander entfernt stehen würden, um von einer Bake aus die andere detektieren zu können. Aus diesm Grund haben wir versucht, schon während der Annährung an eine Bake, die andere sensorisch zu erfassen und uns diese Richtung ungefähr zu merken, damit wir nach dem Ausschalten der ersten Bake auf unser zeitaufwendiges Explorationsverhalten verzichten und die andere Bake nahezu direkt anfahren konnten. Leider ließ sich dies nicht umsetzen, da man die Empfangsfrequenz permanent hätte ändern müssen, um zum einen die anvisierte Bake nicht zu verlieren und zum anderen die andere Bake "aufzuspüren". Diese Änderung war dabei nicht das Problem, sondern die Zeit, die nötig gewesen wäre, um einen vernünftigen Wert zu erhalten, hätte mit der vorhandenen Software mehr als eine Sekunde pro Messung gedauert, so daß die Gefahr zu groß war, unser Ziel (die Bake) aus den Augen zu verlieren, während wir die Umgebung absuchen.

Der zweite Gedanke galt der Optimierung des Gesamtverhaltens von Itzehoe. Wir wollten versuchen, die einzelnen Verhalten parallel laufen zu lassen, wobei jedes eine gewisse Priorität gegenüber den anderen besitzen sollte, so daß je nach Situation, in die Itzehoe gerät, ein entsprechendes Verhalten gewählt werden sollte. Dies nennt man "Subsumption Architecture". Leider war auch hier keine Umsetzung möglich, da unter "Interactive C" keine sichere Kommunikation möglich war.

Zu den angesprochenen Software-Problemen kam noch, daß uns viel zu wenig Zeit zum Experimentieren mit den Robotern zur Verfügung stand. Dies hatte zur Folge, daß sämtliche Arbeit auf den Wettbewerb ausgerichtet wurde.

berlegungen zum zweiten Rennen

Beim zweiten Rennen sind wir davon ausgegangen, daß wir in dem engen Korridor sehr wahrscheinlich dem konkurrierenden Fahrzeug begegnen werden. Da wir natürlich schneller sein wollten, haben wir unsere bisherigen Ausweichstrategien dahingehend geändert, daß Itzehoe bei Hinderniskontakt auf keinen Fall zuruckfährt, sondern sich nur ein wenig in die Richtung dreht, bei der kein Fühlerkontakt vorhanden ist. Da sich an beiden Seiten des Korridors jeweils eine Bake befand, die den Robotern als Richtungsorientierung diente, ist Itzehoe einfach deren Signal gefolgt. Das hatte zur Folge, daß so gut wie nie ein Kontakt mit der Wand erfolgte, da wir durch unsere permante Richtungskorrektur, wie oben beschrieben, fast die ganze Zeit gerade durch den Korridor gefahren sind. Beim Wettbewerb hatte unsere Strategie dann auch einen schönen Nebeneffekt: Da Itzehoe während der Verfolgung des Bakensignals andauernd Richtungskorrekturen vornahm, wurde dem "Gegner" ausgewichen, ohne ihn zu berühren. Wenn das gegnerische Fahrzeug nämlich einen der Frontinfrarotsensoren von Itzehoe verdeckt hat, bzw. Itzehoe auf einer Seite nichts mehr empfangen hat, wurde auf die entsprechend andere Seite ausgewichen, was zur Folge hatte, daß die Gegner sauber umfahren wurden.

Das Luna-Team

Im folgenden sollen der Aufbau und die Strategien zur Steuerung von Luna beschrieben werden. Die Mitglieder dieser Gruppe waren Thomas Schwarzenbacher, Albert Wilkes und Jörg Zabel.

Aufbau von Luna

Zu Beginn der Versuche bestand der Roboter "Luna" (Little Untethered Navigating Agent) neben den fest installierten Bumpern auch noch aus IR-Emittern und -Empfängern und den vier Lichtsensoren. Gegen Ende wurden aber sowohl die Lichtsensoren als auch die IR-Emitter entfernt (dazu siehe nächster Abschnitt).

Die drei IR-Empfänger wurden an der Spitze des Roboters im rechten Winkel zueinander nach Links, Rechts und Vorne ausgerichtet.

Steuerung

Zu Beginn wurde uns gesagt, daß im Wettbewerb Hindernisse zwischen den Baken stünden, so daß eine geeignete Strategie zum Umfahren dieser zu entwickeln war. Dazu sollten die Lichtsensoren als Lichtkompaß dienen. Leider war die Beleuchtung ausgesprochen ungeeignet, so daß keine vernünftigen Aussagen über die Ausrichtung des Roboters gemacht werden konnten, woraufhin diese Idee verworfen wurde, auch aus dem Grund, daß der Wettkampf dahingehend geändert wurde, daß keine Hindernise mehr vorhanden waren. Zur Hindernisvermeidung sollten auch die IR-Emitter/Empfänger dienen, die ein Hindernis in ca. 10-15 cm Entfernung erkennen konnten. Da es aber unmöglich war, schnell zwischen den beiden Frequenzen hin- und herzuschalten, mußte auch diese Funktion verworfen werden. Die einzige jetzt noch existierende Hindernisvermeidung erfolgte durch die beiden vorne angebrachten Bumper. Wurde einer von diesen gedrückt, so fuhr der Roboter ein kurzes Stück zurück, um dann eine Drehung von dem Hindernis weg durchzuführen. Wurden beide Bumper gleichzeitig gedrückt, so fuhr der Roboter ebenfalls zurück und drehte sich dann in die Richtung der vorherigen Ausweichbewegung, wodurch eine Oszilation in Ecken vermieden werden konnte.

Bei Beginn des Wettbewerbs sucht sich der Roboter zu allererst die stärkere der beiden Baken aus, da diese somit die am nächsten tehende sein sollte (allerdings wurden die Ergebnisse durch Reflektionen an den Wänden bei ungünstiger Startposition verfälscht). Die Zielanpeilung erfolgt grundsätzlich so, daß solange in Richtung des am stärksten angesprochenen IR-Empfängers gedreht wird, bis der vordere den höchsten Wert anzeigt. Bei diesem Verfahren kann es allerdings passieren, daß der Roboter an der Bake vorbeifährt, sich erst dann dreht, wenn er genau seitlich zur Bake steht, und dann durch sein Drehen die Bake mit der Seite ausmacht, ohne dieses zu erkennen. Daher wird die Annäherung noch mit Hilfe der seitlichen IR-Sensoren korrigiert, in dem solange gedreht wird, bis beide seitlichen Sensoren in etwa den gleichen Wert zeigen. Dadurch wird die Annäherung um einiges genauer und das Abschalten der Bake geschieht immer mit der Front des Roboters. Diese ist deshalb nötig, daß Roboter erkennen können muß, daß er die Bake ausgeschaltet hat, um dann auf die nächste Bake zuzufahren. Im ersten Entwurf unseres Programms wurde die Abschaltung erkannt, wenn der vordere Sensor nach Erhalt des Höchstwertes plötzlich keine IR-Strahlung mehr aufnimmt. Durch die variablen Wände während des Wettbewerbs passierte es aber, daß der Sensor seinen Höchstauschlag durch eine Reflektion erhielt, die reflektierende Wand aber daraufhin entfernt wurde und somit die Abschaltung der Bake fälschlicherweise erkannt wurde. In der überarbeiteten Version wird immer noch das gleiche Kriterium verwendet, allerdings wurde es um einen zusätzlichen Punkt erweitert: Eine aktive Abschaltung der Bake liegt dann vor, wenn zeitgleich mit einem Bumperdruck der IR-Wert des vorderen Sensors auf Null sinkt.

Nach dem Abschalten der ersten Bake wurde die IR-Frequenz gewechselt und die zweite Bake angesteuert. Es war dabei kein Explorations- Algorithmus nötig, da sich der Roboter immer innerhalb der Reichweite beider Baken befand und er auch in der Lage war, Baken zu erkennen, die sich direkt hinter ihm befanden. Für den zweiten Wettbewerb wurden kaum spezielle Überlegungen angestellt, da er sich unserer Meinung nach kaum vom ersten unterschied. Allerdings wurde die Drehzeit reduziert, um eine Zick-Zack-Bewegung zwischen den beiden Seitenwänden zu vermeiden, und es wurde vor dem Start die Frequenz der anzufahrenden Bake angegeben.