Bei unserer bisherigen Tätigkeit wurden verschiedenste Arten der Verhaltenssteuerung ausprobiert.
Im Rahmen der Projektgruppe PG 401 "Entwurf und Realisierung einer modularen hierarchischen Kontrollarchitektur für fußballspielende AIBO Roboter" (WS 01/02, SS 02) haben wir uns mit der Verhaltenssteuerung von Robotern auf Basis eines Fuzzy-Controllers beschäftigt.
Aus den gewonnenen Sonsordaten und mit Hilfe von Kommunikation der Roboter untereinander gewinnt der Roboter ein ungefähres Bild seiner Umgebung: das Weltbild. Die im Weltbild enthaltenen Daten wie z. B. die eigene Position auf dem Feld, die Ballposition oder Positionen anderer Spieler werden in der Verhaltenssteuerung ausgewertet um Entscheidungen für aktuelle Aktionen zu treffen.
Fuzzy Logik bietet die Möglichkeit, unscharfes Wissen mit Hilfe von linguistischen Termen und Regeln zu formalisieren, und so semantische Begriffe zu modellieren, ohne die klassischen scharfen Grenzen für Begriffssdefinitionen ziehen zu müssen.
Im Roboterfußball bietet Fuzzy Logik Vorteile, da hier zwar oft Verhaltensregeln bekannt sind, aber eine scharfe, geschlossene numerische Beschreibung nicht möglich ist.
Im Gegensatz zur klassischen Logik werden in der Fuzzy Logik die üblichen Wahrheitswerte "wahr" und "falsch" erweitert auf unscharfe (englisch "fuzzy") Wahrheitswerte zwischen 0 und 1. Auf diese Weise lassen sich natürlichsprachliche Begriffe und Konzepte modellieren, ohne dabei semantische Paradoxien zu erzeugen. Klassisch kann zum Beispiel ein Ball nur entweder nah oder fern sein. Eine scharfe Definition ließe also nur zu, dass der Ball bis 19,9 cm noch als nah gilt, während er bei 20 cm bereits fern ist. In der Fuzzy-Logik würde man sagen, dass die Aussage "Der Ball ist nah" bei einer Entfernung von 10 cm vollkommen wahr wäre, bei 20 cm vollkommen falsch und bei 15 cm nur teilweise erfüllt ist.
Mit dieser Erweiterung der Aussagekraft lassen sich menschenlesbare Regeln formulieren, die das Verhalten beschreiben können: "Wenn nah(Ball) und geradeaus(Tor), dann führe einen Headkick aus". Mit einer kompakten Menge von Regeln können so unterschiedliche Rollen wie Torwart, Verteidiger oder Stürmer modelliert werden.
Um ein Team-Play innerhalb einer Mannschaft möglich zu machen, ist eine Absprache der Hunde untereinander unumgänglich. Als Kommunikationsmittel der Hunde werden die eingebauten WLan-Karten benutzt.
Um den notwendigen Netzwerk-Traffic so gering wie möglich zu halten (die Regeln lassen "nur" 2Mbit/sec zu) und schnelle Entscheidungsabsprachen zu ermöglichen, haben wir uns für ein selbst enwickeltes "Absprachemodell" entschieden, das wir auf den Namen "Dynamic-Team-Tactics" (DTT) getauft haben.
Die möglichen Tätigkeiten der Hunde werden in kleine Häppchen (sog. Optionen) zerlegt. Diese können beispielsweise so aussehen: "gehe zum Ball", "kicke den Ball ins Tor", "gehe ins eigene Tor" oder "schiesse zu Mitspieler XY".
Ausserdem bekommen alle Hunde eine identische Liste mit "gewünschten" Spielsituationen (Tactic-Entrys) mit.
Die Hunde bewerten nun ständig, wie gut sie jede der Optionen in der aktuellen Spielsituation erfüllen können (Option-Rating). Wenn ein Hund z.B. den Ball nicht vor sich hat, kann er ihn auch nicht kicken. Diese Ergebnisse werden dann über WLan an die anderen 3 Hunde gesendet. Danach kann jeder Hund aufgrund dieser Daten entscheiden, welche der Spielsituationen grade am besten von Team verwirklicht werden kann und weiss damit auch, welche der Optionen er nun ausführen soll. Damit ist die Entscheidungsfindung des Teams vollkommen von der letztendlichen Aktion getrennt. Wie der Hund den Ball kickt ist Sache des Hundes, nicht des Teams. Dieses wird durch einen XABSL Automaten bewerkstelligt, der unabhängig vom DTT funktioniert. Falls sich mehrere Spielsituationen als möglich erweisen, wird die "beste" genommen. Ein Schuss auf das Tor z.B. ist besser als ein Rückpass.
The Extensible Agent Behavior Specification Language XABSL