GPS hat doch von Haus aus erst mal nix mit Kompass zu tun, soweit ich weiß (zumindest haben wir damals keinen eingebaut in den Empfänger...)

Fertige Geräte haben entweder einen Kompaßmodul mit integriert, zumindest den Sensor, denn der Kompasssensor kann ja auch vom GPS-Mikrocontroller mit gesteuert werden.

Man kann zwar auch aus einem GPS-Differenzsignal ein Kompasssignal ableiten. Wenn an 2 unterschiedlichen Positionen das GPS-Signal gemessen wird, ergibt sich auch eine Richtungsinformation. Im Stand des Roboters bekommt man keine Richtungsinformation. Also wird der Robbi erst einmal in eine beliebige Richtung los fahren. Danach bekommt man die Kursabweichung, mit der man in die richtige Richtung einbiegen kann.
Das ganze sollte aber nicht ganz so einfach sein, wie es theoretisch klingt.
Erstens ist die Messgenauigkeit des GPS nicht so hoch, so daß die Kurs fehler bei kleinen Bewegungen des Robbis ziemlich hoch werden. Man sollte also eine größere Strecke (>> Messfehler GPS) fahren um einigermassen vernünftige Istkurse messen zu können.

Der Robbi hat auch ein dynamisches Lenkverhalten, auf das mit einem PID-regler reagiert werden sollte. Die Parameter müssen dann im Versuch bestimmt, d.h. die eingestellte Lenkdynamik muß ausprobiert werden.

Dann kommen zuguterletzt noch Oberflächenunebenheiten dazu, die den Roboter aus dem Kurs bringen und als zusätzliche Störgröße ausgeregelt werden müssen.

Ich hoffe, diese Tipps helfen dir weiter.