Hallo Scott,

vor einigen Jahren wurde am MIT ein mobiler Roboter, der sog. RugWarrior, entwickelt. Dieser wird auch heute noch an vielen TUs und FHs für die Ausbildung eingesetzt.
Dieser 2-Rad Roboter hat 2 Inkrementalgeber, 2 Infrarot Hindernissensoren und 3 Bumper in Form von Microschaltern.

Die Labyrinthaufgabe wurde mit dem RugWarrior z.B wie folgt gelöst:

/* Aufgabe: Navigation im Labyrinth */
/* Verwendeter Roboter: RugWarrior */
/* Problem: Erkennung der Fahrtstrecke und der Waende.
Ideen: Immer nur 1 Feld fahren und dann 90 Grad nach
rechts drehen. Ist dort eine Wand, dann nach links
drehen und auf Wand pruefen. Ist dort eine, nach
links drehen und auf Wand pruefen. Ist dort eine,
nach links drehen. Dort kann dann keine Wand mehr
sein.
Das Fahren wird ueber folgende Prozeduren
erledigt:
run1() : Faehrt 1 Feld weiter (21 Impulse)
turn1() : Dreht um 90 Grad nach rechts
oder links je nach Argument.
Nach dem drehen Matrix aktualisieren. Aufbau
eines Elementes der Matrix, 1 Byte:
Bit 0: Richtung Nord
0 = Frei oder noch nicht erkundet
1 = Wand, bzw. Sackgasse folgt
Bit 1: Richtung West
Bit 2: Richtung Sued
Bit 3: Richtung Ost
Bit 5: Feld wurde bereits besucht wenn 1
Die Matrix ist ein eindimensionales Feld mit 63
Elementen welches ueber X und Y angesprochen wird,
wobei Y immer mit 7 multipliziert wird.
Den Rueckweg merkt man sich in einer weiteren Matrix
indem man das, zur Richtung aus der man kam, entsprechende
Bit setzt, wenn das Feld noch nicht besucht wurde.
Spaeter braucht man nur noch dieser Spur zu folgen,
sie fuehrt einen sackgassenfrei zum Start zurueck. */

Man kam mit 3 Matrizen a 64 Bytes aus.

Voraussetzung ist natürlich, daß der Schlupf der Räder nicht zu groß ist.
Insofern könnte ein Kompaß helfen.