[previous][map][next]

4 Strecke zwischen zwei Geraden

Gegeben:
 
P1 (x1, y1) Koordinaten des Startpunktes P1
a1 Richtungswinkel des Gleises in diesem Punkt
P2 (x2, y2) Koordinaten des Endpunktes P2
a2 Richtungswinkel des Gleises in diesem Punkt
Gesucht:
 
 Geometrie-Elemente, die einen Punkt einer Geraden mit einem Punkt einer anderen Geraden verbinden
Gegeben sind zwei Punkte, sowie die Richtungen des Gleises in diesen Punkten. Die Krümmung in den vorgegebenen Punkten ist null. Die Berechnung zerfällt in drei Teile. Berechnet man den Übergang von einer Geraden auf eine andere, so können zwei Fälle eintreten:

4.1 Scheitelklotoiden

Man berechnet den Schnittpunkt der Geraden g1 und g2, die durch P1 und P2 sowie die Richtungswinkel gegeben sind. Der Schnittpunkt muss in Fahrtrichtung gesehen auf der Geraden g1 vor P1 und auf g2 hinter P2 liegen. Ist das nicht der Fall, so muss über eine Zwischengerade trassiert werden. Es ergibt sich eine sogenannte S-Kurve.
Liegt P2 auf der Geraden g1 und ist a1 = a2, so handelt es sich um einen trivialen Fall. Die Verbindung besteht aus dem  Geometrie-Element Gerade durch die Punkte P1 und P2. Ist a1 ungleich a2, so muss eine S-Kurve berechnet werden. In anderen Fällen geht man wie folgt vor:

4.1.1 Berechnung der Klotoiden

Es werden im folgenden nur symmetrische Scheitelklotoiden behandelt.
Erst berechnet man die Winkelhalbierende der Geraden g1 und g2. Es muss dazu die Lage des Endpunktes P2 relativ zur Anfangsgerade g1 bestimmt werden. Befindet sich P2 rechts der Geraden, so liegt eine Rechtskurve vor. Ist er links von der Geraden, muss die Winkelhalbierende gegen den Uhrzeigersinn berechnet werden.
Die Normale n zur Winkelhalbierenden ist im Bild gestrichelt eingetragen. Sie ist ebenfalls winkelhalbierend und wird zur Berechnung der Klotoiden benötigt.
Um eine symmetrische Scheitelklotoide zu erzeugen, müssen die Schenkel P1 - S und P2 - S gleich lang sein. Man ermittelt einen Hilfspunkt P3, der die längere der beiden Strecken in die Länge der kürzeren Strecke und die Restlänge aufteilt. Der Punkt am kürzeren Schenkel wird nachfolgend mit P4 bezeichnet.
Damit zerfällt das Rail in die Geometrie-Elemente: Die beiden Klotoiden sind achsensymmetrisch bzgl. n.
Es wird eine Koordinatentransformation vorgenommen, so dass P4 im Ursprung liegt und die Gerade g1 auf der x-Achse.
Man berechnet eine Klotoide, die in P4 beginnt und senkrecht auf die Normale n trifft. n ist durch die Vorgaben eindeutig bestimmt.
Die lokale Klotoide wird anschließend in das Weltkoordinatensystem transformiert.
Nach der Transformation der ersten Klotoide ermittelt man die Parameter der zweiten. Bedingt durch die Symmetrie zu n ergeben sich deren Parameter wie folgt:
Die zweite Klotoide beginnt mit dem Endradius der ersten Klotoide, hat die gleiche Länge und endet mit der Endkrümmung null. Der Startpunkt und die Startrichtung der zweiten Klotoide entsprechen den Endwerten der ersten Klotoide.
Zur Berechnung der ersten Klotoide bestimmt man die Länge d zwischen P4 und S.
Der Winkel T  P4 ist p/2 minus des Tangentenwinkels t. Er ergibt sich aus dem Winkel zwischen g1 und n bzw. dem zu p ergänzenden Winkel, je nachdem ob negative oder positive Krümmung vorliegt. Mit Kenntnis dieses Winkels lässt sich t berechnen.
Über die Formeln kann die Länge und der Radius der Klotoide am Punkt T bestimmt werden. Man startet mit dem Parameter A = 1 und initialisiert eine Klotoide. Auf der Klotoide berechnet man mit Hilfe obiger Formeln den Punkt T und die Richtung in T. Dadurch lässt sich die Normale n bestimmen. Der Schnittpunkt der Normalen mit der x-Achse liefert den Punkt S. Nun lässt sich die Länge d berechnen. Ist der Parameter A der Klotoide richtig gewählt, so ist d gleich der Länge der Strecke P4 - S. Ansonsten berechnet man den Parameter der neuen Klotoide durch das Verhältnis von d zur Strecke P4 - S. Mit dem neuen Parameter wiederholt man die Berechnung so lange, bis d mit der gewünschten Genauigkeit der Streckenlänge P4 - S entspricht.
Nach der Berechnung im lokalen x`-y`-Koordinatensystem muss die Klotoide in das Weltkoordinatensystem transformiert werden. Die Transformation setzt sich aus einer Rotation um den Ursprung mit dem Richtungswinkel von g1 und einer anschließenden Translation des Ursprungs an die Weltkoordinaten von P4 zusammen.
Die zweite Klotoide ist bzgl. n achsensymmetrisch zur ersten. Der Startpunkt ist der Endpunkt der ersten Klotoide. Die Startrichtung ergibt sich aus der Endrichtung der ersten Klotoide. Der Anfangsradius entspricht dem Endradius der ersten Klotoide. Der Endradius ist null.
 

4.1.2 Berechnung der Geraden

Sind die Schenkel unterschiedlich lang, wird noch ein Geometrie-Element Gerade benötigt. Ist die Strecke P1 - S länger, so muss das Geometrie-Element Gerade von P1 nach P3 verlaufen und an den Anfang des Rails angefügt werden. Ist hingegen P2 - S länger, so muss das Geometrie-Element von P3 nach P2 verlaufen und am Ende des Rails angefügt werden. Es sind dabei die gleichen Überlegungen anzustellen wie bei der Trassenberechnung Gerade Kreis.

4.1.3 Behandlung numerischer Ungenauigkeiten

Auch hier ist eine exakte Lösung des Problems nur theoretisch möglich. In der Praxis führen numerische Ungenauigkeiten bei der Berechnung der Klotoide zu Abweichungen von der idealen Lösung. Speziell kann der Fall auftreten, dass der Algorithmus zu oszillieren beginnt. Der Parameter A springt dann um den exakten Wert. Dies ist besonders bei t gegen p/2 der Fall, da minimale Änderungen von A große Auswirkungen auf d haben. Zusammen mit der Näherung bei der Klotoidenberechnung kann dies zu einem ungünstigen Verhalten des Algorithmus führen. Fängt der Algorithmus an zu oszillieren, so muss man nach einer hinreichend großen Anzahl von Schleifendurchläufen abbrechen und als Näherung den Mittelwert der letzten beiden Parameter für A verwenden.
Um numerische Ungenauigkeiten bei der Einrechnung zu kompensieren, kann man die Geometrie-Elemente drehen und dadurch den Abstand an den Schnittpunkten reduzieren. Endet ein Geometrie-Element einige cm neben dem Beginn eines anderen, so ist dies im Sichtsystem erkennbar, ein Richtungssprung mit der Größenordnung von weniger als einem Grad fällt jedoch nicht auf. Aus diesem Grund kann man eine Drehung des Elementes auf Kosten eines Richtungssprungs in Kauf nehmen.

4.2 S-Kurven

4.2.1 Hintergrund

Die Geraden g1 und g2 schneiden sich nicht notwendigerweise so, dass eine Einrechnung durch eine Gerade und zwei Klotoiden möglich ist. Zu Fällen, in denen keine einfache Einrechnung möglich ist, gehören: Zur Trassierung dieser Fälle verwendet man S-Kurven. Eine S-Kurve ist ein Übergang von einer Gerade in eine andere Gerade mit Trassierung über eine Zwischengerade. Sie wird verwendet, wenn keine direkte Einrechnung zwischen den Geraden möglich ist. Man trassiert dabei mit Scheitelklotoiden von der Startgeraden in die Übergangsgerade und von der Übergangsgerade in die Endgerade. In den folgenden Schaubildern wurden Trassen mittels S-Kurven berechnet. Die Trennstellen der Geometrie-Elemente sind durch einen schwarzen Balken markiert.

S-Kurve zwischen gleichen Richtungswinkeln:

S-Kurve bei Schnittpunkt hinter P1:

4.2.2 Berechnung einer Zwischengerade *)

Zur Berechnung einer S-Kurve ist eine Zwischengerade nötig. Es stellt sich die Frage nach einer günstigen Wahl der Zwischengerade. Dazu bieten sich mehrere Lösungen an. Einfließen müssen in die Lösung:

4.2.2.1 Ansatz gleicher Schenkellängen

Da nur symmetrische Scheitelklotoiden behandelt wurden, ist es empfehlenswert eine Optimierung der Tangente T dahingegen zu betreiben, dass die Schenkel der Klotoiden gleich lang werden. Dadurch vermeidet man gerade Stücke und fährt stets auf einer Kurve. In obiger Abbildung sind alle vier Schenkel a gleich lang. Man erkennt, dass beim Durchfahren der ersten Scheitelkurve ein sehr großer Winkel überstrichen werden muss, hingegen bei der zweiten Scheitelkurve der überstrichene Winkel sehr klein ausfällt. Eine ausschließliche Optimierung auf gleiche Schenkellänge kann unter ungünstigen Bedingungen sogar zu sehr spitzen Kehren oder zu keiner Lösung führen. Der Fall tritt ein, wenn die Länge von a so groß wird, daß P über den Schnittpunkt der Geraden hinaus geht. Dies würde zu einer Schleife führen, die jedoch realistisch betrachtet keinen Sinn ergibt.

4.2.2.2 Ansatz gleicher Winkel

Ein anderer getesteter Ansatz basiert auf folgender Annahme:
Eine S-Kurve setzt sich aus zwei Scheitelklotoiden zusammen. In der ersten Scheitelklotoide wird eine Drehung in einer Richtung durchlaufen, in der zweiten Scheitelklotoide dreht man sich dann entgegengesetzt. Ziel ist es, die Größe des Drehwinkel in der ersten Klotoide dem Drehwinkel der zweiten Klotoide anzupassen. Gleichzeitig sollten die Längen der Klotoiden etwa gleich sein.
Es wird wie folgt vorgegangen:
Berechnung der Winkelhalbierenden s1 zwischen g1 und g2.
Berechnung der Mittelsenkrechten s2 zwischen P1 und P2.
Ermittlung des Schnittpunktes IP1 von s1 und s2.
Berechnung des Schnittpunktes IP2 von s2 und g1.
Bestimmung der Geraden s3 durch die Punkte IP2 und P2.
Definition der Tangente T durch IP1 mit der Richtung von s3.
Schnitt der Tangente T mit g1 führt zu IP3.
Ermittlung von IP4 durch Schnitt von T mit g2.
Berechnung des Übergangspunktes M als Mittelpunkt zwischen IP3 und IP4.
Anhand der Richtung der Tangente T und dem Übergangspunkt M können jetzt zwei Scheitelklotoiden berechnet werden. Dieses Verfahren versagt jedoch, wenn die Mittelsenkrechte s2 annähernd parallel zur Geraden g1 wird. Dann entfernt sich der Schnittpunkt IP2 sehr weit und die Tangente wird sehr flach. Die Ergebnisse der daraus resultierenden Trassenberechnung sind ungeeignet.

4.2.2.3 Kompromiss

Nach dem keines der oben vorgestellten Verfahren unter allen auftretenden Fällen brauchbare Ergebnisse lieferte, wurde ein Kompromiss eingegangen. Zur Ermittlung der Tangente T berechnet man den Mittelpunkt M der Strecke P1-P2 sowie die Mittelsenkrechte s1 zwischen P1 und P2. Man bestimmt dann die Mittelsenkrechte s2 zwischen P1 und M sowie die Mittelsenkrechte s3 zwischen M und P2.
Der Punkt IP1 ist der Schnittpunkt zwischen g1 und s2. Der Schnittpunkt IP2 ergibt sich durch g2 und s3.
Die Tangente T wird nun durch die Punkte IP1 und IP2 bestimmt. Der Endpunkt der ersten Scheitelklotoide und gleichzeitiger Startpunkt der zweiten Scheitelklotoide ist IP3. Er ist der Schnittpunkt der Geraden s1 mit der Tangente T.
Auch hier kann es zu Problemen kommen. Geht der Winkel a gegen 90° so werden s1 und g1 parallel. Der Schnittpunkt wandert dann ins Unendliche. Das wirkt sich auf die Lage von IP3 aus. Um ein Abdriften des Punktes IP3 zu verhindern, wird der Abstand zu M berechnet. Wird dieser größer als die Länge der Strecke M - P1, so wird die Tangente neu berechnet. Der Punkt IP3 wird dann auf einen Abstand von 0.125 * Länge der Strecke P1 - P2 festgelegt. Durch diese Maßnahme werden auch unter ungünstiger Ausgangslage noch gute Ergebnisse berechnet.

4.2.3 Weiteres Vorgehen

Nach dem nun eine Tangente T sowie ein Übergangspunkt IP3 berechnet wurde, ermittelt man die Scheitelklotoide zwischen Startpunkt P1 und Übergangspunkt IP3 sowie eine Scheitelklotoide zwischen IP3 und dem Endpunkt P2. Die beiden Scheitelklotoiden werden anschließend zu einem Rail zusammengefasst. Dieses verbindet den Startpunkt P1 mit dem Endpunkt P2 und besteht im Normalfall aus sechs Geometrie-Elementen.
Abschließend müssen die Geometrie-Elemente mit den Anfangslängen initialisiert werden.

[previous][map][next]