Du hast doch nur nen Dreirad-wozu dann nur den Sensor drehen?
Das ist unnötiger Aufwand, denn es nutzt dir auch nur dann was, wenn du die jeweilige Stellung des Sensors genau kennst (ohne Encoder oder Kompass wird das auch wieder nix, wenn man ihn nur nen Stück schwenkt, reicht ein Servo).
Fahr soweit, bis der Sensor ein Hinderniss erfasst. Dann messen. Nun den Roboter nach Odometrie so lange drehen (auf dem Punkt natürlich, ggf. ist das bisschen Rechenaufwand, weil manche Stützräder verhindern, dass er wirklich mittig zwischen den Rädern dreht), bis der Sensor das selbe Ergebnis wieder hat.
So kannst du schonmal die Drehungen mit der Odometrie abgleichen. Sollte es nicht möglich sein, im Erfassungsbereich nur ein Hindernis ringsum zu haben, musst du dir halt ne Stelle suchen, an der eins in genauem Abstand (alle anderen müssen andere Abstände haben) ist, was du als Referenz nutzen kannst.
Dabei gibts allerdings nen Haken: diese Sensoren messen keineswegs in nem schmalen Bereich, die billigen haben sowas zwischen 15 und 20 Grad Erfassungswinkel, du musst also seeeehr genau messen, oder eben den Rand des Erfassungsbereiches ermitteln.
Fahr-Odometrie kannst du genauso kalibrieren: such dir ne Wand, und fahr ran bis sie der Sensor gut erfasst (beispielsweise auf nen Meter ran, wenn der Sensor 4m schafft), nun fährst du zurück und kannst die Ergebnisse der Odometrie mit denen des Sensors abgleichen.
Kannst du dann auch mal probieren, ob es noch genauer wird, wenn du das Ganze mehrmals machst (einfach immer schnurgerade hin-und her fahren, dabei schön die Odometrie mitzählen lassen und am Schluss mit dem US-Sensor abgleichen).
Bedingung hierfür ist allerdings, dass der Roboter auch wirklich grade vor und zurück fahren kann (mit nem Nachlauf-Rad wird das wohl eher nix, weil der Roboter dann immer kurz schwenkt, da brauchst nen ziemlich cleveren Algorithmus um das definiert hinzubekommen), bei ner Kugel als Stütze oder sowas sollt das möglich sein, wenn du eine Geradeausfahr-Regelung benutzt.
Und: wenn du sowieso mehrere der Ultraschall-Sensoren hast, benutz sie auch. Lass sie beide schräg nach vorne sehen, so dass die Erfassungsbereiche sich grade noch überlappen, dann hast du ne ziemlich gute Möglichkeit, Hindernisse richtig zu erkennen und brauchst da nix schwenken (das ist gerne ne Quelle für Fehlmessungen): wenn beide Sensoren was erfassen, ist es genau vor dem roboter. Den drehst du nun etwas, und dann wirds nur noch einer der beiden erfassen, und du weisst, wo es wirklich ist.
Wichtig aber: niemals beide Sensoren wirklich zugleich einsetzen, die beeinflussen sich gegenseitig!