Start Person Technik Reisen Fotos
Kapitel 2 English Kapitel 4

3 Navigation

Dieses Kapitel beschäftigt sich mit der mathematischen Umsetzung der Ausführung eines Flugplans. Es werden Lösungen für die Berechung der Flugbahn vorgestellt. Es wird dabei davon ausgegangen, dass die Navigation auf ein System zur Lagestabilisierung aufsetzt, welches gesondert behandelt wird.

3.1 Bezugssysteme

Dem globalen Positionierungssystem GPS liegt ein geodätisches Bezugssystem zugrunde. Eine GPS-Position besteht aus geografischem Breitengrad (Latitude, λ), Längengrad (Longitude, φ) und Höhe über Meeresspiegel (Altitude, h).


Abbildung 3: geodätisches und lokales Bezugssystem

Eine für Deutschland gültige GPS-Position ist z.B. 5027' N, 1233' E, 310 m. Die Position ist z.B. aus dem NMEA-Datensatz GGA auszulesen:

$GPGGA,205208.00,5048.1125,N,01242.3116,E,1,08,1.3,485.0,M,,M,,*72

Mit diesen Daten lässt sich zwar prinzipiell rechnen, jedoch ist es etwas umständlich. Deshalb wird ein lokales Bezugsystem (LB) eingeführt, dem ein rechtwinkliges Koordinatensystem zu Grunde liegt. Der Ursprung des lokalen Bezugssystems wird als der Startpunkt der Route des autonomen Roboters festgelegt, die X-Achse entspricht einer Gerade von West nach Ost, die Y-Achse einer Gerade von Süd nach Nord, jeweils durch den Ursprung und die Z-Achse einer gedachten Linie von Erdmittelpunkt durch den Ursprung. Abbildung 3 zeigt die Beziehung der Systeme zueinander.

Um nun eine GPS-Position in Koordinaten des LB umzurechnen, muss zunächst die GPS-Position des Startpunkts (Ursprung, O) bekannt sein. Weiterhin wird ein Umrechnungsfaktor f für die Einheiten Grad und Meter benötigt. Dieser kann aus dem Erdradius ermittelt werden, nachfolgend wird er mit 111200 m/grad angesetzt. Die Berechnung ist dann wie folgt:


Für den beschriebenen Zweck ist diese Umrechnung durchaus ausreichend, jedoch sollte man sich bewusst sein, dass sie nicht exakt ist, da sie unter anderem nicht die Abflachung der Erdkugel berücksichtigt. Sie ist weiterhin nicht geeignet für große Entfernungen, bei denen die Erdkrümmung einen zunehmenden Einfluss hat bzw. in Gebieten nahe des Nord- und Südpols.

Eine weitere Vereinfachung von Formel 1 ist die Verwendung von cosφ0 anstelle von cosφP. Hier wird davon ausgegangen, dass die maximale Entfernung einer Position P vom Ursprung nur wenige Kilometer beträgt, was auf die Winkeldifferenz von φ nur sehr geringen Einfluss hat und vernachlässigt werden kann. Somit muss nur einmalig eine trigonometrische Funktion ausgeführt werden, was Rechenleistung spart.

Beispiel 1:

3.2 Grundbegriffe

3.2.1 Position

Wie in Beispiel 1 schon vorweggenommen, ist eine Position im lokalen Bezugssystem durch seine x-, y-, und z-Koordinaten gekennzeichnet. Mathematisch gesehen, ist es ein dreidimensionaler Vektor.

3.2.2 Bewegungsrichtung

Die Bewegungsrichtung lässt sich ebenso als Vektor darstellen. Dieser zeigt von der aktuellen Position in die Richtung der aktuellen Bewegung. Er wird nachfolgend auch als (Attitude) bezeichnet. Es ist sinnvoll, den Bewegungsrichtungsvektor zu normieren, so dass er unabhängig von der Geschwindigkeit v der Bewegung wird. Für eine geradlinig, gleichförmige Bewegung gilt demnach:


Mit GPS-Daten als einzige Basis gibt es zwei Möglichkeiten, die Bewegungsrichtung zu bestimmen. Zum einen kann die Differenz der Position von zwei zeitlich nacheinander liegenden Messungen errechnet, zum anderen direkt der Heading- bzw. Track-Wert ausgelesen werden.

Umrechnung Winkel zu Vektor:

Der Track-Wert kann beispielsweise aus dem NMEA-Datensatz VTG gelesen werden. Dort steht er als erster Wert nach der Satzkennung:

$GPVTG,205.1,T,,M,0.4,N,0.8,K*6A

Er gibt den Winkel im Uhrzeigersinn zur Nordrichtung an. Unser geometrisches Koordinatensystem bezieht sich jedoch auf die x-Achse und läuft entgegen dem Uhrzeigersinn (siehe Abbildung 4). Die Umrechnung geschieht wie folgt:


Zur Umwandlung eines Richtungswinkels in einen Richtungsvektor werden die Sinus- und Cosinus-Funktion benutzt



Abbildung 4: Track und geometrischer Winkel

Umgekehrt lässt sich der Arcustangens nutzen


Dabei ist zu beachten, dass der x-Anteil des Vektors nicht 0 sein darf. Wenn x = 0 ist, verläuft der Vektor parallel zur y-Achse, ist a also - abhängig von y - 90 oder 270. Manche Programmiersprachen bieten für diesen Fall spezielle Funktionen, welche x und y als Parameter haben und Sonderfälle berücksichtigen. In Java beispielsweise die Methode Math.atan2(double y, double x).

3.3 2D-Manöver

3.3.1 Ansteuern eines vorgegebenen Punktes

Wir gehen davon aus, dass sich ein Flugzeug zu einem gewissen Zeitpunkt im Punkt A befindet und sich geradlinig gleichförmig in Richtung fortbewegt. Es bekommt nun den Befehl, einen Punkt C anzusteuern. Dazu muss es seine Bewegungsrichtung ändern, also eine Kurve fliegen. Als Vereinfachung kann diese Kurve als Kreissegment angesehen werden, das in Punkt A beginnt und in Punkt B endet. Nachdem Punkt B erreicht ist, geht die Flugbahn wieder in eine Gerade über.


Abbildung 5: Anfliegen eines Punktes

Für die Berechnung der Flugbahn ist nun der Punkt B gesucht. Er kann geometrisch als Tangentenberührungspunkt angesehen werden, der die Kreisbahn schneidet, welche die Kurve darstellt.


Abbildung 6: Darstellung von B als Berührungspunkt

Abbildung 6 zeigt einen Kreis mit dem Radius r und Mittelpunkt M, der zur Darstellung der Kurve dient. Es ist ersichtlich, dass es zwei mögliche Tangenten für den Kreis gibt, die durch Punkt C gehen. Im gezeigten Fall ist der Punkt Bl gesucht.

Doch zunächst müssen wir den Kreismittelpunkt M berechnen. Dazu muss entschieden werden, ob eine Rechts- oder Linkskurve geflogen wird.

Rechts oder Links?

Die Frage nach einer Links- oder Rechtskurve lässt sich auf die Frage zurückführen, auf welcher Seite des Bewegungsvektors a sich der anzusteuernde Punkt C befindet. Also, ob der Winkel zwischen a und AC positiven oder negativen Drehsinn hat. Dies lässt sich einfach über die Determinante tun:


Für den Fall aus Abbildung 6 gilt:


Beispiel 2

Orthogonale Vektoren

Wir wissen nun, dass unser Flugzeug eine Linkskurve fliegen muss. Also muss auch der Mittelpunkt der Kurve auf der linken Seite liegen. Da das Flugzeug sofort mit der Kreisbewegung beginnt (Vereinfachung, siehe oben), können wir den Richtungsvektor als Tangente an der Kreisbahn betrachten. In diesem Fall steht der Radius der Kreisbahn senkrecht auf dem Richtungsvektor. Um den Mittelpunkt M zu finden, müssen wir also einen zu a senkrechten Vektor bestimmen, der die Länge des Kurvenradius r hat.


Dazu führen wir eine Rotation um 90 auf a aus. Da a normiert ist, d.h. die Länge 1 hat, muss der um 90 gedrehte Vektor noch mit r multipliziert werden. Formel 7 zeigt die Herleitung über die Rotationsmatrix. Es ergibt sich die in Formel 9 gezeigte Lösung.



Damit kann der Mittelpunkt der Kreisbahn ermittelt werden, der links neben Punkt A liegt. Für den Fall dass M rechts liegt, also eine Rechtskurve geflogen wird, handelt es sich um einen negativen Drehsinn, und entsprechend ist der Winkel a = -90. In diesem Fall ändert sich nur das Vorzeichen, wie in Formel 10 zu sehen ist.


Um Formel 9 und 10 zu verallgemeinern, führen wir den Parameter s ein, der den Drehsinn der Kurve angibt. s kann nur die Werte -1 ^= rechts und +1 ^= links annehmen.


Tangente

Nun kann der in Abbildung 6 gesuchte Punkt Bl ermittelt werden. Dabei sind drei Dinge bekannt. Die Länge der Strecke MC, da Punkte M und C bekannt sind. Die Länge der Strecke MB, nämlich r, sowie der Winkel zwischen MB und BC, nämlich 90. Mit Hilfe des Pythagoras kann nun zunächst die Länge von BC ermittelt werden, für spätere Zwecke wird der Faktor q eingeführt, der das Verhältnis zwischen den Längen von BC und r angibt.


Wie in Formel 12 angemerkt ist q nicht definiert, wenn der Radius 0 und der Abstand zwischen M und C kleiner als der Radius ist. Beides ist grafisch leicht nachvollziehbar. Weiterhin muss angemerkt werden, dass q eigentlich zwei Werte annehmen kann, nämlich einen positiven und einen negativen. Im gezeigten Zusammenhang ist eine negative Streckenlänge jedoch nicht sinnvoll, weshalb der negative Wert nicht verwendet wird.

Da die Strecke BC senkrecht auf MB mit positivem Drehsinn steht, kann Formel 8 angewendet werden:


Daraus wird nun Bl hergeleitet:


Für Rechtskurven ist die Berechnung analog mit dem negierten Wert von q ausführbar.

Beispiel 3

Nun stellt sich die Frage, ob die Berechung der Tangentenberührungspunkte wirklich notwendig ist. Schließlich kann ein autonomes Flugzeug ja auch durch häufiges Messen von Abstand und Winkel feststellen, ob die Bewegung in der Kreisbahn fortgesetzt werden muss oder nicht. Der Vorteil von der Berechnung ist zum einen sicher die höhere Genauigkeit - der Zeitpunkt des Endes des Kurvenflugs kann exakter berechnet werden, als es die Messzyklen (bei GPS 1 - 4 Hz) zulassen. Zum anderen ist es die Grundlage zur Berechnung des nächsten Manövers, welches mit Hilfe eines einfachen Regelkreises nicht mehr genau gesteuert werden kann.

3.3.2 Ansteuern eines Punktes aus einer gegebenen Richtung

Für den Landeanflug ist es zwingend notwendig, dass die Landebahn genau im Winkel ihrer Ausrichtung angeflogen wird. Während des finalen Sinkflugs vor dem Aufsetzen sollte keine Kurve mehr geflogen werden, also ergibt sich die Aufgabe, den Eintrittspunkt für den finalen Sinkflug im vorgegebenen Winkel der Landebahn anzufliegen.


Abbildung 7: Anfliegen von Punkt D aus einer gegebenen Richtung

In Abbildung 7 ist zu erkennen, dass für das Manöver zwei Kreisbewegungen nötig sind. Die erste Kreisbewegung dient zur Annäherung an den Eintrittspunkt - hier mit D bezeichnet. Die zweite Kreisbewegung führt schließlich zur Richtungsänderung entsprechend der Vorgabe. Die Richtungsänderung wird so ausgeführt, dass sie genau in Punkt D beendet ist. Die vorgegebene Richtung in Punkt D wird nachfolgend mit d bezeichnet.

Die Aufgabe ist nun, die Verbindungsstrecke BC zwischen den beiden Kreisbahnen zu bestimmen. Geometrisch betrachtet, handelt es sich dabei um die Tangente zwischen zwei Kreisen. Abhängig davon ob die erste und die zweite Kurve den selben Drehsinn haben oder nicht, ist es eine äußere bzw. innere Tangente. Zunächst muss also der Drehsinn der beiden Kurven ermittelt werden.

Drehsinn der Kurven

Ein einfacher Algorithmus für die Bestimmung des Drehsinns der Kurven ist, die kürzeste Verbindung zwischen den Punkten A und D zu benutzen und sie jeweils mit den Richtungsvektoren a und d zu vergleichen. Aus den beiden sich ergebenden Determinanten lässt sich der jeweilige Drehsinn ermitteln. Wie später noch gezeigt wird, führt das Verfahren unter gewissen Bedingungen zu Fehlern bzw. nicht optimalen Lösungen.


Abbildung 8: Ermittlung des Drehsinns der Kurven

äußere Tangenten

Mathematisch leicht zu lösen ist die Berechnung der äußeren Tangenten, also der Verbindungsstrecken für zwei Kurven mit gleichem Drehsinn. Für den Fall, dass die beiden Kurven den gleichen Radius haben - was wir hier voraussetzen - ist nämlich die Tangente parallel zur Verbindungsstrecke der Mittelpunkte. Sie hat außerdem die gleiche Länge und bildet zusammen mit dem jeweiligen Radius ein Rechteck.


Abbildung 9: Konstruktion der äußeren Tangente

Die Mittelpunkte M und N können mithilfe der zu a und d orthogonalen Vektoren wie bereits gezeigt berechnet werden. Dazu müssen a und d normiert vorliegen:


Nun wird Vektor b eingeführt und normiert.



Ausgehend von M und N können nun die Punkte B und C über die orthogonalen Vektoren von b mit der Länge r errechnet werden. Der Drehsinn ist hier dem der Kurven entgegengesetzt:


Beispiel 4

Innere Tangenten

Für die Berechnung der inneren Tangente ermitteln wir zunächst wieder die Mittelpunkte M und N der beiden Kreisbahnen. Nun führen wir den Punkt E als Schnittpunkt der Strecken MN und BC ein. Dabei gilt

und folglich


Abbildung 10: Konstruktion der inneren Tangente

Nun wird B als Tangentenberührungspunkt der Tangente durch Punkt E berechnet.

q n. def. für r = 0 und |MN| < 2r

C wird jetzt als Verlängerung der Strecke BE mit Faktor 2 berechnet.


Beispiel 5

Problemfälle

Wie schon kurz erwähnt, ist der Algorithmus zur Bestimmung des Drehsinns der beiden Kurven nicht fehlerfrei. Im Folgenden werden zwei Fälle vorgestellt, in denen er eine falsche Lösung liefert.


Abbildung 11: Verfahren liefert falsche Lösung

In Abbildung 11 liegt D von a aus gesehen rechts. Es könnte also zuerst eine Rechtskurve geflogen werden. Da aber auf diese Weise D niemals in Richtung d angeflogen werden kann, muss zuerst eine Linkskurve und dann eine Rechtskurve geflogen werden.


Abbildung 12: Verfahren liefert ungünstige Lösung

In Abbildung 12 liegt D von a aus gesehen rechts. Demnach wäre die erste Kurve rechts. Von der Innentangente zeigt d nach links, also wäre die zweite Kurve eine Linkskurve. Tatsächlich ist es aber kürzer, zwei Linkskurven zu fliegen.

An der Lösung der Probleme und einem besseren Verfahren wird noch gearbeitet.

3.4 Anmerkungen

3.4.1 Genauigkeit

Die vorgestellten Lösungen können nur als Vereinfachung einer tatsächlichen Flugbahn betrachtet werden. In der Realität wechselt eine geradlinig gleichförmige Bewegung niemals abrupt in eine Kreisbewegung sondern es findet ein Übergang statt. Die dabei entstehende Flugbahn wird Klotoide bezeichnet. Für genauere Berechnungen sollten also zukünftig die Klotoide einbezogen bzw. ein Verfahren geliefert werden, welches den Übergang von geradliniger und Kreisbewegung hinreichend genau modelliert.

3.4.2 Ausblick

Die vorgestellten Lösungen sind nur ein kleiner Teil dessen, was zur Steuerung eines autonomen Flugzeugs benötigt wird. Die Berechnung wichtiger Wegpunkte wurde vorgestellt - nun werden Lösungen benötigt, die eine Kontrolle über die Einhaltung der geplanten Bewegung ermöglichen. Beispielsweise sollte die Steuerung während eines Kurvenflugs ständig die aktuelle Position mit der Vorgabe vergleichen und entsprechende Korrekturen einleiten können. Für den Geradeausflug ist eine Korrektur des Seitenwinds wünschenswert. Weiterhin wurden dreidimensionale Manöver bisher ausgelassen, ebenso der Einfluss der Fluggeschwindigkeit. Für den Landeanflug - dem wohl schwierigsten Manöver - wird der Einfluss aller genannten Größen eine Rolle spielen, ebenso muss auch die Bahnkorrektur die Faktoren Position, Richtung und Geschwindigkeit gleichzeitig einbeziehen.

Kapitel 2
11.01.2005, Achim Walther, Mail
Kapitel 4