Naja, das hägt von der allgemeienen Materialstreuung und vor allem von der Lauffreiheit der Zahnräder ab. Du kannst das aber ausgleichen indem du die Odometriedaten auswertest und die Geschwindigkeit der Motoren einzeln veränderst.
Ja, wie man das am besten macht, darüber denke ich auch schon die ganze Zeit nach. Allerdings weiß ich nicht wirklich wie ich da anfangen soll.
Dachte an sowas:

Motorspeed(x-korrektor1; x-Korrektur2)

- Räder auch maximale Geschwindigkeit
- Timer zum messen der Zeit starten
- Odometrie auslesen, warten bis bestimmter Wert unter/überschritten ist
- Zeit für eine Teilumdrehung aus dem Timer entnehmen
- Das geliche Verfahren bei dem anderen Rad
- Bestimmen welches Rad langsamer dreht
- Schleife:
+ Schnelles Rad um eins langsamer (Abweichung in Variable schreiben)
+ Geschwindigkeit messen
+ Wenn Abweichung unter einem bestimmten Wert, schleiche Beenden sonst schliefe neu.


Das ganze ist ziemlich aufwendig und erfordert vermutlich viele Resourcen, aber ich wüßte im moment nicht, wie man es anders lösen sollte. Um eine Initialisierungsphase kommt man da wohl nicht rum.

MFG Moritz