Phi - Ein Roboter als Haustier und Gartenbewohner
http://parinor.pureplayaz.de/

OBEN RUNTER Zusammenfassung der Kursbestimmung


OBEN RUNTER HOCH Die Betrachtung der Ausgangssituation

Technisch bedingt ist der Roboter nicht in der Lage die eigene Ausrichtung direkt zu bestimmen. Ihm fehlt ein Kompaß oder ähnliches, mit dem er die Fahrtrichtung erkennen kann. Da er überall festen Untergrund hat und nicht treiben kann, besteht die Möglichkeit, die eigene Ausrichtung in der Ebene indirekt über Positionsbestimmungen zu berechnen. Vorraussetzung ist, daß er eine definierte Strecke geradeaus fahren kann. Die Technik dafür ist vorhanden, für die PWM-Regelung der Motoren werden die Umdrehungen der Antriebswellen schon optisch überwacht und die Daten können odometrisch verarbeitet werden.
Da die Fahrtrichtung und die Botausrichtung vektoriell gleich sind, werde ich in der weiteren Betrachtung für beide den Begriff Kurs verwenden.


OBEN RUNTER HOCH Die Aufgabenstellung

Das φ ist in der Lage, seine Position zu bestimmen und odometrisch sowohl Geradeausfahrten mit definierter Länge, als auch Drehungen auf der Stelle mit definiertem Winkel auszuführen. Ziel ist, mittels dieser Funktionen den eigenen Kurs zu berechnen.
Die Aufgabe ist gelöst, wenn der Bot den Kurswinkel k zwischen der y-Achse und seiner Ausrichtung in der Ebene, hier mit der roten gestrichelten Linie dargestellt, kennt.

ZIEL


OBEN RUNTER HOCH Aufsuchen und bestimmen einer zweiten Position

Angenommen, der Bot wird irgendwo in sein Revier gestellt und eingeschaltet. Zuerst beginnt er mit der Berechnung seines Standortes. Bevor er einen anderen Ort gezielt anfahren kann, muss er sich in dessen Richtung drehen, und dazu eine Referenz für seine Ausrichtung aufbauen. Dies geschieht, indem er den Vorausbereich auf Hindernisse absucht. Sind welche vorhanden, weitet er seine Suche rundum aus, bis er einen freien Weg voraus hat. Anschließend fährt er eine begrenzte Strecke geradeaus und merkt sich odometrisch die Entfernung w zum Abfahrtspunkt PHI_0.

2 POSITIONEN

Die Länge der dabei zurückgelegten Strecke w ist nicht vorgegeben. Sie sollte aber einen sinnvollen Wert haben. Ist sie sehr kurz, wirken sich Meßfehler stärker aus, ist sie sehr lang, erhöht sich die Gefahr, daß Schlupf die Gerade verfälscht. Für den Anfang wird die Größenordnung von einem Meter sicher ausreichen.
Hat der Bot wieder gestoppt, bestimmt er seinen neuen Ort PHI_1.


OBEN RUNTER HOCH Berechnung des Kurses

Nun wird der Vektor VEKTOR w, der vom PHI_0 auf PHI_1 zeigt, bestimmt:
PHI_1 MINUS PHI_0
Dessen Betrag kann mit dem zurückgelegten Weg w verglichen werden, und falls die Differenz ε nahe 0 ist, kann darauf geschlossen werden, daß die gefahrene Strecke eine Gerade ist.
PHI_1 MINUS PHI_0

2 KURSBESTIMMUNG

Anschließend kann über das Skalarprodukt zwischen VEKTOR w und VEKTOR E_Y der Winkel k berechnet werden. Auch hier ist wieder zu beachten, daß bei negativem X_W nicht der eingeschlossene, sondern der gegenüberliegende Winkel gesucht wird.
SKALARPRODUKT
360 - SKALARPRODUKT
Damit ist die Kursbestimmung abgeschlossen. Mit diesen Daten kann mein φ andere Orte ansteuern, wobei jeder Standortwechsel, der auf einer Geraden erfolgt, zur Aktualisierung der Kursdaten verwendet werden kann.


OBEN RUNTER HOCH Grafische Aufbereitung der Herleitung

Der Roboter hat seinen geraden Weg zurückgelegt und die alte und neue Position bestimmt. Der Schwellwert ist eine gegebene Konstante. Bekannt sind nun:


Gesucht wird:

Im folgenden sind die notwendigen Berechnungen graphisch strukturiert. Konstanten sind blau und Variablen wieder grün gekennzeichnet.
ZUSAMMEN


OBEN HOCH Eine Beispielrechnung

Die Anfangswerte stammen wieder zur Überprüfung von einer Skizze. Die Ergebnisse sind gerundet.


Zuerst wird der Vektor VEKTOR w und dessen Betrag berechnet.
VEKTOR W
BETRAG VEKTOR W
Anschließend wird die odometrisch gefahrene Gerade geprüft und danach unter Beachtung des Vorzeichens von X_W der Kurs k bestimmt.
EPSILON
KURS K
Laut Skizze ist das Ergebnis korrekt und das φ hat seinen genauen Kurs bestimmt. Von hier aus kann die Welt entdeckt werden.

OBEN Letzte Änderung: 21. Januar 2013 - © Per Petersen