DE:Proposed features/GLOSA

From OpenStreetMap Wiki
Jump to navigation Jump to search
Traffic Lights Program
Zustand: Abandoned (inactive)
Vorgeschlagen von: Ampelmeter
Tagging: tl_program=*
betroffene Elemente: Knoten oder Punkt, Linienzug, Relation
Kurzbeschreibung: Phases and timing information on traffic lights for greenlight prediction
Statistik:

Darstellung: No rendering, used for routing
Entwurf vom: 2013-04-24

Begründung

Ziel der Erfassung von Ampelphaseninformationen ist es, zeitlich korrekte oder gut genäherte Prognosen über die erwartete Grünphase in der eigenen Fahr- bzw. Geh-Richtung treffen zu können. Das Datenmodell soll sowohl die manuelle Erfassung wie auch einen automatischen Update der Daten aus einem Verkehrsrechner ermöglichen. Für beide Vorgehen ist zumindest eine Identifizierung von Fahrbeziehungen an signalisierten Kreuzungen notwendig.

Derzeit sind zwei Anwendungsfälle dafür benannt:

1. Das Feature GLOSA (green light optimal speed advisory) dient zur Anzeige einer Geschwindigkeitsempfehlung, bei der die nächste Ampel bei grünem Lichtsignal erreicht werden kann.

Durch die Eingabe von Informationen über zeitliche Abläufe, kann die Geschwindigkeitsempfehlung für zeitgesteuerte Lichtsignalanlagen (LSA) angezeigt werden.

2. OSM für Blinde plant Grünphasen für Fußgänger in der Blinden-Navi anzusagen.

Ampeltypen

Nicht alle Ampeltypen können vor die Grün-Vorhersage ausgewertet werden. Es ist jedoch auch von Wert, zu wissen, welche Ampeln man nicht vorhersagen kann.


Verkehrsabhängige LSA haben ähnliches Verhalten wie die Zeitgesteuerten, weil sie den gleichen Rahmenzeitplan haben. Hin und wieder kommt es zu einer Abweichung, die je nach Steuerungsart unterschiedliche Auswirkung hat.

Zusammengerechnet liegt die Vorhersagbarkeit zwischen 1/3 und 2/3 aller Lichtsignalanlagen (LSA).

Ampeltyp Auswertbar? Anteil in BS Tagging Bemerkung
Rein zeigesteuert Ja! Ca 33%
Rein bedarfsgesteuert Nein! Ca 33% control_input:demand_button=yes/no und/oder
control_input:induction_loop=yes/no und/oder
control_input:camera=yes/no und/oder
z.B. Fußgängerampeln mit Bedarfsanforderung (Knopf), Kreuzungsampeln mit Induktionsschleifen oder Kameras. Bei diesen Ampeln hat ein Verkehrsstrom immer rot bis zur Anforderung.
Freigabezeitanpassung Bedingt. In BS, Bohlweg, Georg-Eckert-Str. wurde eine Standardabweichung von 4 s. bei 85 s. Umlaufzeit beobachtet. control_input:induction_loop=yes/no und/oder
control_input:camera=yes/no
control_output:green_extension=yes/no
Zeitgesteuert mit Abhängigkeit vom Individualverkehr und ÖPNV. Freigabezeit wird um wenige Sekunden variiert, um Fahrzeugpulks durchzuschleusen oder schneller umzuschalten, wenn kein Verkehr detektiert wurde. Eingesetzt wird es in Stadtzentren mit dichtem Verkehr.
Phaseneinfügung und/oder Phasentausch Bedingt control_input:radio_priority
control_output:phase_adaptation=yes/no
Zeitgesteuert mit Abhängigkeit vom öffentlichen Verkehr. Phasen werden eingeschoben oder umgedreht, um ÖPNV durchzuschleusen. Prioritätsanforderung meist per Funk. Eingesetzt wird es in äußeren Stadtbezirken mit wenig Verkehr.
Ampel mit Vorrechtsregelung Ja, bis auf den Notfall. control_output:emergency=yes/no Feuerwehrschaltung

Freigabezeitanpassung und Phaseneinfügung werden häufig kombiniert. Die Schaltung äußert sich dann als wäre sie willkürlich.

Betrachtete Objekte

Zum Datenmodell gehören Kreuzungen bzw. Kreuzungsbereiche und Fahrbeziehungen, die zu Signalgruppen zusammengefasst werden können. Fußgängerquerungen werden als "Fahrbeziehung" betrachtet.


Signalgruppe

Fahrbeziehungen sind zu Signalgruppen zusammengefasst, wenn die Fahrbeziehungen gleiches Lichtsignal regelt.

Signalgruppen können nur die Richtung *main* haben (siehe Eigenschaften von Fahrbeziehungen)

Fahrbeziehung

Mit einer "Fahrbeziehung" ist der Weg gemeint, von wo nach wo über den Kreuzungsbereich geroutet werden soll.

Fahrbeziehungen werden als Relationen erfasst.

Members

Eine Fahrbeziehung besteht aus 3 Elementen (Rollen-Member): from, via, to.

Die Elemente "from" und "to" sind jeweils Nodes vor und hinter einer Kreuzung, genauer gesagt vor und hinter einem "via" Member.

Das via Element kann ein Node oder eine Relation type => junction_area bestehend aus Nodes und Ways sein, die den Kreuzungbereich darstellt.

Eigenschaften

Fahrbeziehungen können sprechende Richtungsnamen haben: *right*, *left*, *straight*, *main* und für halbrechts *right_slight* bzw. halblinks *left_slight* sowie scharf rechts/links *right_sharp*, *left_sharp*.

Definition von sprechenden Richtungsangaben:

  • main := (abknickende) Hauptstraße, falls vorhanden
  • gerade := 360 Grad +- 22.5
  • rechts := 90 Grad +- 22.5
  • halbrechts := der Bereich zw. gerade und rechts.
  • scharfrechts := >= 112.5
  • wenden := 180° +- 22.5°

Linke Seite entsprechend. d.h. jede benannte Richtung hat einen Öffnungswinkel von 45°

Gemeinsame Tags für Fahrbeziehungen, die zu Signalgruppen gehören, werden nur einmal in der Signalgruppe getaggt.

Kreuzungsbereich

Den Kreuzungsbereich bildet eine Relation, die Nodes zusammenfasst, mit dem Ziel, das "via" Element von Fahrbeziehungen zu bestimmen.

Ein Nebeneffekt ist die Vereinfachung von turn restrictions bei komplexen Kreuzungen.

Beide Alternativen sind dabei unabhängig von der noch nicht definierten Konvention, ob Ampeln an Kreuzungsknoten, an einmündenden Straßen (tatsächlicher Ort) oder hinter der Kreuzung markiert werden (siehe Tag:highway=traffic_signals#How_to_map).


Alternative 1

Set of traffic signals

Zum Kreuzungbereich gehören zur Relation zusammengefasste Knoten, die sich innerhalb der verlängerten Linien von traffic signals befinden, wie beim Vorschlag set of traffic signals.

Alternative 2

Die Definition besteht aus zwei Teilen.

1. Teil

Zum Kreuzungsbereich gehören Knoten an einer Haltelinie beginnend und in deren Nähe die Fahrbeziehung (die ausgehende Straße bzw. das "to" Member) noch nicht bestimmbar ist.

Für mehrspurige Kreuzungen entsteht nach dieser Definition für jede Fahrbeziehung ein separates "via" Member, das dann von der herkömmlichen Begriffsbestimmung "Kreuzungsbereich" abweicht.

2. Teil

Um dieses abstrakte Objekt "via-Member" wieder auf den "Kreuzungsbereich" zurückzuführen, werden die via Member aller Fahrbeziehungen zusammengeführt, sodass sie gemeinsam wieder einen Kreuzungsbereich bilden. Falls bei größeren Kreuzungen Lücken zwischen den via Membern entstehen, werden sie geschlossen. Überschriebene "to" Member werden nach außen verlagert.

Sonstiges

Einmündungen im Kreisel werden separat wie unabhängige Kreuzungen behandelt.

Kreuzungsrelationen oder Knoten haben zwei wesentliche Eigenschaften.

Erstens, besitzen sie eine gemeinsame Uhr. Alle Kreuzungen eines (synchronisierten) Straßensubnetzes werden in einer Relation zusammengefasst, um ihre Gemeinsamkeit, die Uhr, zu bestimmen.

Zweitens, besitzen sie ein Steuerungsverfahren. Zur Auswahl stehen: zeitgesteuert (ohne bes. tags), Phasenanpassung (Tausch oder Einfügung), Freigabezeitanpassung, Bedarfsampeln mit Induktionsschleife und Fußgängeranforderung sowie Vorrechtsregelung.

Tagging

Fahrbeziehung

Key Value Description
type link (siehe Diskussion) definiert eine Fahrbeziehung
turn_indicator (siehe Diskussion) left, right, straight, main, left_slight, left_sharp, right_slight, right_sharp topologische sprechende Fahrtrichtungsangabe einer Fahrbeziehung
tl_program:time_offset <seconds> Zeitoffset einer Fahrbeziehung von der gemeinsamen Uhr in Sekunden. Eine Zahl zw. 0 und der Umlaufzeit im Straßensubnetz.
tl_program offset_reference Die einzige Fahrbeziehung innerhalb eines Straßensubnetzes, die als Referenz dient und den offset=0 hat. Alle anderen Fahrbeziehungen des gleichen Straßensubnetzes werden dazu relativ getaggt. Die Kreuzung sollte zeitgesteuert sein und zentral (Erreichbarkeit) liegen im Subnetz. Informationen über die Steuerungsverfahren können aus längeren Beobachtungen oder vorzugsweise von der Stadtverwaltung gewonnen werden.
highway stop_line

Tag am Node, das die Haltelinie markiert. Falls es mehrere Haltelinien gibt und nur eine Spur, muss der Weg aufgespalten werden.

tl_program:timing [<duration_green>, <duration_red>]+ Komma getrennte, alternierende Dauern von grün (zuerst) und rot. Startet mit grün.

Definition von grün ist "fahren dürfen" (grün in D) und rot ist "halten" (gelb in D und natürlich rot). Hinweis zu gelb: Bei gelb darf zwar noch gefahren werden, aber nur ausnahmsweise. Ausnahmen bleiben außen vor.
Bei Anlagen mit einer n-fachen Frequenz werden die Dauern in der Form <duration_green>,<duration_red>,<duration_green>, <duration_red>,usw. eingegeben.

Signalgruppe

Key Value Description
type signal_group definiert eine Signalgruppe
tl_program:time_offset <seconds> Zeitoffset einer Signalgruppe von der gemeinsamen Uhr. Eine Zahl zw. 0 und der Umlaufzeit im Straßensubnetz.
highway stop_line Tag am Node, das die Haltelinie markiert.
tl_program:timing <duration_green>,<duration_red> Gemeinsame Dauern von rot und grün für die Signalgruppe. Siehe Fahrbeziehung.

Kreuzungsbereich

Key Value Description
type junction_area definiert einen Kreuzungsbereich in einer Relation.
type common_clock definiert eine Menge von Kreuzungen mit einer gemeinsamen Uhr
control_input:demand_button

control_input:induction_loop
control_input:camera
control_input:radio_priority
control_output:green_extension
control_output:phase_adaptation
control_output:emergency

yes/no Info, welches Steuerungsverfahren angewandt wird

Beispiele

Kreuzungsbereich

Die Kreuzungsbereiche wurden nach Alternative 2 bestimmt.

Königsworther Platz in Hannover

1 2 3 4 5 6 7
KoenigswortherPlatz1.png KoenigswortherPlatz2.png KoenigswortherPlatz3.png KoenigswortherPlatz4.png KoenigswortherPlatz5.png KoenigswortherPlatzEinzeln.png KoenigswortherPlatzMerged.png
Legende: blau = from, rot = via, weiß = to

Die ersten fünf Abbildungen zeigen einzelne Fahrbeziehungen (1. Teil der Definition vom Kreuzungsbereich).

Das Bild 6 zeigt die einzelnen Kreuzungsbereiche überlagert.

Das Bild 7 zeigt, wie die einzelen via Elemente zu einem großen Kreuzungsbereich nach dem 2. Teil der Definition zusammengefasst und die to Elemente nach außen verschoben worden sind.

Rebenring/Hagenring in Braunschweig

1 2 3 4 5
Rebenring1.png Rebenring2.png Rebenring3.png Rebenring4.png RebenringMerged.png
Legende: blau = from, rot = via, weiß = to


Dito

Kreisverkehr Willy-Brandt-Platz in Braunschweig

1 2 3 4 5 6 7
Wbp1.png Wbp2.png Wbp3.png Wbp4.png Wbp5.png Wbp6.png WbpMerged.png
Legende: blau = from, rot = via, weiß = to


Das Beispiel Willy-Brandt-Platz in Braunschweig zeigt einen Kreisverkehr mit sechs Ampelknoten. Der gesamte Kreisverkehr im Bild 7 wird anders als bei Kreuzungen nicht als Kreuzungsbereich gekennzeichnet. Die einzelnen Fahrbeziehungen und "via" Member bleiben separat.

Fahrbeziehung

Fahrtrichtungsangabe

Beispiel für eine sprechende Fahrtrichtungsangabe: rechtsabbiegende Fahrbeziehung als Hauptstraße (abknickende Vorfahrt):

link = right,main

Das main Attribut ist die Hauptrichtung, die zur Vorhersage benutzt wird, wenn keine geplante Route vorliegt. Ist main nicht angegeben, wird die Richtung straight als die Hauptrichtung angenommen.

Ampelsekunde

Tag für die Ampelsekunde. Sie dient als ein Offset von der Referenzfahrbeziehung innerhalb eines Straßensubnetzes.

tl_program:time_offset = 42

Dieses tag bedeutet, dass die getaggte Fahrbeziehung nach 42 s. auf grün schaltet, nachdem die Referenzfahrbeziehung auf grün geschaltet hat. Es ist eine Grünflanke-Zu-Grünflanke-Differenzzeit.

Die Ermittlung erfolgt durch Zeitmessung zwischen den Grünflanken von zwei Fahrbeziehungen und Division mit Rest (modulo) durch die Umlaufzeit.

Haltelinie

Nodes werden als als Haltelinie markiert, um Entfernungen bis zur Haltelinie statt zum Kreuzungsmittelpunkt berechnen zu können.

highway=stop_line

Phasendauern

Beispiel:

Dauer von grün: 19s

Dauer von rot: 66s

Jeden Montag von 6 bis 20 Uhr

tl_program:timing:conditional = 19,66 @ (Mo 06:00-20:00)


für jeden Tag von 6 bis 20 Uhr

tl_program:timing:conditional = 19,66 @ (06:00-20:00)


für jeden Tag und jede Zeit

tl_program:timing = 19,66


für einzelne Tage von 6 bis 20 Uhr

tl_program:timing:conditional = 19,66 @ (Mo,We,Fr 06:00-20:00)


für die Wochentage von 6 bis 20 Uhr

tl_program:timing:conditional = 19,66 @ (Mo-Fr 06:00-20:00)



Beispiel für einen Sonderfall, bei dem die Grün- und Rotphase 2 mal innerhalb eines Umlaufes von 85 Sekunden wechselt.

grün=33, rot=10, grün=33 und rot=9

tl_program:timing:conditional = 33,10,33,9

Beispiel mit Signalzeitenplan

Auszug aus einem Signalzeitenplan. Quelle Wikipedia.

Angenommen F4 ist die Referenzfahrbeziehung, dann sähe der Plan wie folgt aus:

Umlaufzeit 39

Fahrbeziehung Timing Offset
F4 14,25 0
K1 16,23 38
K2 16,23 19
K3 16,23 38
K4 16,23 19
F1 17,22 18
F1a 17,22 19
F2 14,25 13
F3 13,26 19

Reihenfolge beim Taggen

  • Kreuzungsrelationen
    • common_clock
    • Steuerungsverfahren
  • Fahrbeziehungen
    • Referenz festlegen offset_reference bzw time_offset
    • stop_line
    • timing
    • turn_indicator
  • Signalgruppen
    • Fahrbeziehungen zusammenfassen und wie Fahrbeziehungen taggen

Sonstiges

Im Projekt Sumo werden Ampeln simuliert. Dazu gibt es ein Datenformat diese zu beschreiben:

http://sourceforge.net/apps/mediawiki/sumo/index.php?title=FAQ#How_do_I_change_the_duration_of_cycles_and_phases.3F

  • Der Signalzeitenplan wird hier beschrieben. Der steht aber auf der Seite, also phasenbasiert und nicht wie vorgeschlagen fahrbeziehungsbasiert, die Zeilen dort sind hier im Vorschlag Spalten und anders herum. Sie verwenden den Begriff "link" für Fahrbeziehung.

Betroffene Vorschläge

http://wiki.openstreetmap.org/wiki/Proposed_features/Advanced_stop_line

http://wiki.openstreetmap.org/wiki/Proposed_features/Set_of_Traffic_Signals