DE:Proposed features/GLOSA
Traffic Lights Program | |
---|---|
Zustand: | Abandoned (inactive) |
Vorgeschlagen von: | Ampelmeter |
Tagging: | tl_program=* |
betroffene Elemente: | , , |
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
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.
|
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
|
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 |
---|---|---|---|---|---|---|
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 |
---|---|---|---|---|
Legende: blau = from, rot = via, weiß = to |
Dito
Kreisverkehr Willy-Brandt-Platz in Braunschweig
1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|
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
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:
- 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