next up previous contents
Nächste Seite: HLI Aufwärts: Software Vorherige Seite: Software   Inhalt

Einleitung

Die Software besteht aus über 25 Modulen, welche ständig überarbeit werden bzw. zu denen neue hinzukommen. Die Abbildung zeigt einige Module und ihre Kommunikationswege. Die beiden Module SPEECH (Spracherkennung) und PARSER (Wortketteninterpretation) werden innerhalb dieses Projekts an die anderen, bereits bestehenden Komponenten angebunden.



\resizebox* {10cm}{10cm}{\includegraphics{Bilder/TCX_arch_quer.ps}}

Abb. 4.2: Das Softwaresystem von CARL (beeSoft)
und seine Erweiterungen

Die Module arbeiten asynchron, und es existiert keine übergeordnete Kontrolleinheit. Die erforderliche Kommunikation läuft über ein Modul namens tcxServer [12], welches nur die Verteilung der Nachrichten an die entsprechenden Stellen, aber sonst keine weitere Funktion übernimmt. Das verwendete Protokoll ist eine Spezialisierung auf dem TCP/IP-Protokoll. Um Konflikte aufzulösen, können den Modulen Prioritäten zugeordnet werden. Das Planungsmodul kann zum Beispiel ohne die Kollisionsvermeidung keine Bewegung ausführen lassen. Die Module sind fehlertolerant aufgebaut. Dies bedeutet, daß das System, obwohl Komponenten temporär nicht erreicht werden können, weiterarbeitet. Nach einem Neustart fehlender Module können zurückgestellte Nachrichten ausgeführt werden. Das System kann in drei Ebenen eingeteilt werden.

  1. Hardwareansteuerung
    Dies beinhaltet zum Beispiel den base- bzw. laserServer. Auf dieser Ebene werden Hardwarekomponenten wie Motoren, Kameras und andere Sensoren direkt angesteuert.
  2. weiterführende Verarbeitung
    Auf dieser Ebene werden die reinen bzw. vorverarbeiteten Sensordaten zu einem Weltmodell des Roboters zusammengestellt. Im PLAN-Modul wird zum Beispiel ein Pfad zwischen der aktuellen und der Zielposition innerhalb einer vorgegebenen Karte (MAP) gesucht.
  3. höhere Planungsebene
    Auf dieser Ebene werden Planungssprachen wie GOLOG angesiedelt. Das Modul HLI bildet die Schnittstelle zur zweiten Ebene. Mit Hilfe dieser Schnittstelle können auch andere höhere Planungsebenen eingesetzt werden. Mit diesen Modulen ist eine abstrakte Planung von Roboteraktionen möglich.
Die wichtigsten Module im Zusammenhang mit diesem Projekt sind HLI (High Level Interface) [22,23] und GOLOG (alGOL in LOGic) [36,32]. Über HLI (siehe 4.2.2) wird der gesamte Ablauf eines mit GOLOG ermittelten Plans abgewickelt. Die verwendete Planungssprache GOLOG wird in 3 gesondert erläutert. Das HLI-Modul versucht, einen korrekten und vollständigen Ablauf von HLI-Basisbefehlen zu gewährleisten, und liefert teilweise deren Ergebnisse zurück. Solche Befehle sind zum Beispiel die Bewegung zu einem bestimmten Punkt in der Umgebung hli_go(x,y) oder das Aktivieren der Knöpfe für eine bestimmte Zeit hli_buttons(b1, b2, b3, b4, Zeit, Pr). Als weitere Module sind die Kollisionsvermeidung [16], der Kartenbauer [40,51,52], der Pfadplaner [52] und die Lokalisierung [8] zu nennen. Dies sind die Module, die zur korrekten Ausführung einer geplanten Aktionssequenz neben HLI am wichtigsten sind. Weitere Module sind zum Beispiel der Obstacle-Server (für virtuelle Hindernisse), der ButtonServer (Informationen über die Knöpfe) oder Sound (zum Abspielen von Wave-Dateien oder CD-Tracks). Das Modul SPEECH ist in dieser Einteilung auf der ersten Ebene und der PARSER auf der zweiten Ebene anzusiedeln.


next up previous contents
Nächste Seite: HLI Aufwärts: Software Vorherige Seite: Software   Inhalt

2001-01-04