Nächste Seite: HLI
Aufwärts: Software
Vorherige Seite: Software
  Inhalt
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.
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.
- Hardwareansteuerung
Dies beinhaltet zum Beispiel den base- bzw. laserServer. Auf dieser Ebene werden
Hardwarekomponenten wie Motoren, Kameras und andere Sensoren direkt angesteuert.
- 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.
- 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.
Nächste Seite: HLI
Aufwärts: Software
Vorherige Seite: Software
  Inhalt
2001-01-04