NiboRoboLib 3.6 - NIBO burger Library
|
Funktionen zur Odometriemessung Mit den Odometriesensoren wird die Drehung der Räder gemessen. Daraus läßt sich der gefahrene Weg berechnen. Das Wort Odometrie kommt aus dem Griechischem und bedeutet Wegmessung. Die Drehung wird durch Lichtschranken und die Löcher in den roten Zahnrädern gemessen. Jedes Loch löst genau einen Zählimpuls aus, eine komplette Radumdrehung löst 100 (bzw. 20) Impulse aus. Die Räder haben einen Durchmesser von 45 mm, das entspricht einem Umfang von ca. 141 mm. Pro Tick bewegt sich der Roboter somit 1,41 mm (bzw 7,05 mm) vorwärts. Die maximale Geschwindigkeit der Motoren im Leerlauf liegt bei ungefähr 100 Ticks/Sekunde - das sind ca. 14 cm / Sekunde (bzw. 70 cm / Sekunde). Mehr ...
gehe zum Quellcode dieser Datei
Funktionen | |
void | odometry_init () |
void | odometry_reset () |
void | odometry_resetLeft () |
void | odometry_resetRight () |
int16_t | odometry_getLeft (uint8_t reset) |
int16_t | odometry_getRight (uint8_t reset) |
Funktionen zur Odometriemessung Mit den Odometriesensoren wird die Drehung der Räder gemessen. Daraus läßt sich der gefahrene Weg berechnen. Das Wort Odometrie kommt aus dem Griechischem und bedeutet Wegmessung. Die Drehung wird durch Lichtschranken und die Löcher in den roten Zahnrädern gemessen. Jedes Loch löst genau einen Zählimpuls aus, eine komplette Radumdrehung löst 100 (bzw. 20) Impulse aus. Die Räder haben einen Durchmesser von 45 mm, das entspricht einem Umfang von ca. 141 mm. Pro Tick bewegt sich der Roboter somit 1,41 mm (bzw 7,05 mm) vorwärts. Die maximale Geschwindigkeit der Motoren im Leerlauf liegt bei ungefähr 100 Ticks/Sekunde - das sind ca. 14 cm / Sekunde (bzw. 70 cm / Sekunde).
int16_t odometry_getLeft | ( | uint8_t | reset | ) |
Liefert den Wert des linken Zählers zurück. Je nach Motorrichtung wird der Zähler hoch oder runter gezählt. Wenn
reset | = 0 ist wird der Zählerstand beibehalten, ansonsten auf 0 zurückgesetzt. |
int16_t odometry_getRight | ( | uint8_t | reset | ) |
Liefert den Wert des rechten Zählers zurück. Je nach Motorrichtung wird der Zähler hoch oder runter gezählt. Wenn
reset | = 0 ist wird der Zählerstand beibehalten, ansonsten auf 0 zurückgesetzt. |
void odometry_init | ( | ) |
Initialisierung der Odometriemessung. Die Lichtschranken lösen automatisch einen Interrupt aus, in dem die Zähler aktualisisert werden. Die aktuelle Motorrichtung bestimmt ob die Zähler hoch oder runter gezählt werden. Die Interrupts müssen aktiviert sein!
void odometry_reset | ( | ) |
Setzt beide Zähler auf 0 zurück
void odometry_resetLeft | ( | ) |
Setzt den linken Zähler auf 0 zurück
void odometry_resetRight | ( | ) |
Setzt den rechten Zähler auf 0 zurück