Das Odometriesystem
Aufgabe des Odometrie Systems ist die Ortsbestimmung des Roboters anhand interner
Sensordaten, in unserem Fall die Umdrehungen der Räder. Dies war nötig,
da eine Positionsbestimmung über externe Sensoren und Referenzen nicht
möglich war.
![]() |
Wie eingangs erwähnt, wird durch ein aufwändiges Getriebe die Winkelgenauigkeit der mit 11,25° recht ungenauen Lego-Rotationssensoren auf 1,17° erhöht. Das entspricht 144 Schritte pro Radumdrehung. Die Rotationssensoren lösen pro Raste einen Interrupt aus, der RCX
zählt hiermit "Schritte seit einschalten". Die Interruptsteuerung
sowie die Zählung übernimmt das BrickOS, die Zählstände
werden in Form einer Variable abgefragt. Ziele werden über ihre x- und y-Korrdinaten definiert. Zum anfahren
eines Ziels wird zunächst der Roboter auf der Stelle gedreht, bis
der eigene Winkel mit dem Winkel zum Ziel übereinstimmt. Anschließen
wird in einer geraden Linie auf das Ziel zugefahren. Der vorgegeben Testparkur sah zum Ende das anfahren der Ursprungsposition vor. Trotz ungewollter Kurvenfahrten war der Roboter am Ende dem Ausganspunkt sehr nah. |
In unseren Testläufen wurde allerdings die Schwäche im Verfahren deutlich: Hatten die Räder nicht genügend Bodenhaftung, ließ die Genauigkeit nach.
Ebenso war die Trägheit des recht schweren Schwenkarms ein Problem, besonders in Kurven und bei rutschigem Untergrund. Durch die Pendelbewegung wurde der Minensucher aus seiner Bahn gedrängt und diese Information entging dem Odometriesystem natürlich.
Ein Video mit einem Fehlversuch durch Schlupf gibt es hier... (1,5 MB; leider etwas dunkel)
