stell den mtor an, so dass er fährt. dann machst du eine variable für die übergänge des linken rades und eine variable für die übergänge des rechten rades. und dann misst du in einer endlosschleife die werte für den rechten bzw linken odometriesensor uns speicherst ihn in einer zweiten variable zwischen (z.B. "TEMP") und wenn der neue wert kleiner als TEMP ist, dann ist offensichtlich gerade eine schwarze fläche vor dem sensor, der vorher einen hohen wert für die helle fläche gemessen hat. also: 1 Übergang. den speicherst du in der zuerst genannten variable. und das gleihe machst du beim linken rad.

wenn die schleife ca 300-500mal durchgelaufen ist, dann vergleichst du die beiden werte: sind rechts mehr übergänge als links, dann musst du den rechten motor zurückfahren. aber nur ein bisschen! durch die nächste messung in der endloschschleife zeigt sich ja, ob es genug war. und wenn du links mehr übergänge hast als rechts, dann musst du DEN RECHTEN MOTOR SCHNELLER MACHEN, nicht den linken langsamer! ansonsten werden die motoren abwechselnd immer langsamer, bs der asuro steht. =)
Jetzt setzt du alle Variablen zurück auf 0, und dann fängt die endlosschleife wieder an.
also das wäre das was mir spontan enfallen würde, es gibt bestimmt viele einfachere lösungen und ch werde vermutlich gesteinigt in den nächsten 20 posts, aber das wre meine spontane idee.

wenn du es geschafft hast, dann lass dir die aktuellen motorwerte per infrarot ausgeben, und dann kannst du sie in deinen programmen verwenden ohne jedes mal sone aktion zu machen =)