Du kannst einen antrieb bauen, der, wenn er mechanisch blockiert wird, die Richtung ändert, und zwar "relativ" zufällig- damit ist sogar rückwärts fahren drin. Praktisch wird es allerdings, ohne den Motor umzupolen, eine Vorzugsrichtung geben.
Kennst du diese Kinderspielzeuge, die, wenn sie gegen ein Hindernis fahren, umdrehen?
Im Grunde funktioniert es so:
Du hast zwei Achsen, eine läuft nur mit (Hinterachse), die vordere wird angetrieben.
Auf dieser Achse sitzt ein kleines Ritzel.
Die Achse ist, mitsamt dem Ritzel, um die Hochachse frei drehbar am Chassis montiert und im Drehpunkt kommt von oben eine Welle mit nem Kronenrad, die das Ganze antreibt.
Das Ritzel der Achse kann sich also frei auf dem Kronenrad um die Hochachse drehen, und somit die Fuhre lenken.
Auf diese Weise wird automatisch die Richtung geändert, wenn die Antriebsräder blockieren. Damit das gut funktioniert, sollte die angetriebene Achse eine möglichst geringe Breite haben.

Du kannst dort immer noch eine Zufallskomponente einbringen, indem du den Motor mal anders herum laufen lässt, dann wird es erstmal die Richtung "willkürlich" ändern.
Falls du nicht weisst, was ich meine, sags dann mache ich dir eine Skizze zu.

@Searcher: dieser Freilauf ist einfach zu bauen, du treibst eine Achse über ein Differential an. Auf einem der Achsstummel ist noch ein Zahnrad, welches mit einer Art Ratsche versehen ist, so dass es nur in eine Richtung drehen kann.
Als Stütze benutzt du nen Schleifer oder ein Nachlaufrad, das wars.
Auch recht elegant (aber etwas schwerer abzustimmen) hat LEGO das z.B. im R2D2-Kit der Mindstormsreihe (ist ab und an noch bei Ebay zu bekommen) gelöst: das Fahrwerk dort besteht aus zwei Vorderrädern (eines davon nur angetrieben!) und einem Nachlaufrad, was in _eine_ Richtung begrenzt schwenken kann.
Fährt das Vehikel vorwärs, ist das Nachlaufrad gerade und alles fährt geradeaus.
Fährt es Rückwärts, schlägt der Nachläufer definiert ein und das Geschirr fährt eine Kurve.
Funktioniert erstaunlich präzise.