Crossing Editor Anforderungsampel: Bus bekommt nie Fahrt

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!
  • Hey zusammen :hi:


    Gerade sitze ich an einer (etwas komplexeren) Kreuzung:




    Wie man sehen kann habe ich einmal die Hauptstraße (Heinrich von Stephan Str - dunkelblau) mit einer seperaten Abbieger Phase (hellblau), sowie die Seitenstraßen.

    Das Problem bereiten überwiegend die Bussupuren mit ihren Ampelphasen:

    Die simple Idee ist, den ÖPNV so zu priorisieren, dass dieser schnell durch die Stadt kommt und eben an dieser Kreuzung schnell zum ZOB kommt. Dazu soll nach jeder regulären Phase geprüft werden, ob ein Bus auf der Busspur ist, oder nicht. Wenn ein Bus den Kontakt an den Bussignalen 0 und/oder 8 anfordert, so soll die Busampel schnellst möglich auf Fahrt schalten. Um diesen Prozess zu beschleunigen habe ich auf der Busspur (auf der die rote Ampelphase liegt 8) ein Vorsignal (ca 160m vor der Kreuzung) eingebaut, welches anzeigen soll, dass das nächste Signal an der Kreuzung Fahrt bei Ankunft auf Fahrt steht.

    Das Problem ist nun, dass die Anforderung nicht wirklich so funktioniert, wie ich es gerade beschrieben habe, denn der Bus bekommt nie Fahrt.

    Ich habe immer, bei jeder der vier "Blöcke" wo geprüft werden soll ob ein Kontakt besteht, je einen Stop/Jump bei 0:Bus und 8:Bus mit Vorsignal mit gleichen Einstellungen, das einzige, was sich unterscheidet ist die approachdistance, welche beim Vorsignal 250 und bei normalen bei 50 liegt, da logischerweise bei dem Traffic Light mit Vorsignal eine höhere approachdistance benötigt wird, da der Bus auch schneller unterwegs ist. Zusätzlich gibt es noch einen Stop/Jump während der Grünphasen der Busse, welche dafür sorgen soll, dass wenn der Kontakt vom Bus angefordert wurde, die Busampel so lange auf Fahrt steht, bis kein Bus mehr auf der Busspur steht, falls man etwas zu langsam fährt oder mehrere Busse hintereinander auf der Busspur fahren.


    Ich hoffe ich konnte das Problem anschaulich beschreiben - sollte es Nachfragen geben, zögert nicht zu Fragen :)


    Ich danke schon mal im Voraus.


    Grüße

    Cedric

    • Hilfreichster Beitrag

    Ich würde behaupten, das funktioniert nicht, weil zur selben Zeit an zwei unterschiedlichen Stellen die Anforderung überprüft wird. Folglich müsste an beiden Punkten zur selben Zeit eine Anforderung bestehen, damit die folgenden Events ausgelöst werden können.


    (Nach meinem bisherigen Verständnis der Anforderungsfunktion).

  • Dein Grundgedanke ist nicht so verkehrt, funktioniert in OMSI aber leider nur bedingt.

    Die Anforderung wird immer punktuell ausgelöst.

    Wenn du dich beim Vorsignal bei Sekunde 23 in der Anforderung befindest, dann läuft deine Anforderung auch los.

    Verlässt du allerdings bereits bei Sekunde 21 den Anforderungsprozess, so fragt die Ampelschaltung bei Sekunde 23 die Anforderung ab, hat keine und springt auch nicht auf grün.

    Da du dann aus dem Bereich vom vorsignal raus bist, wird deine Ampel nie grün, weil am Hauptsignal gar keine Anforderung mehr abgefragt wird.

    ich würde die Anforderung auf das Hauptsignal setzen, mach dann halt 200m oder so, dann springt nämlich selbst wenn du hinterm vorsignal bist, die Ampel noch um.

    Das Vorsignal kannst du dann als feste Ampelschaltung bei Anforderung am Hauptsignal definieren.


    beedle der barde Das ist grundsätzlich richtig, was du da sagst, aber wird die Anforderung nicht nur zeitlich einmal abgefragt? Die zweite Abfrage erfolgt ja erst ein paar Sekunden später.

  • Das ist grundsätzlich richtig, was du da sagst, aber wird die Anforderung nicht nur zeitlich einmal abgefragt?

    So viel ich weiss, ja. Ich hatte seine Erklärung so verstanden, dass die Anforderung bei beiden Punkten zur selben Zeit abgefragt wird, was ja dann nicht funktionieren würde.

    Mein obiger Post war kein Vorschlag einer Lösung, sondern die Erklärung, weshalb es (m.W.n) nicht funktioniert. Am Handy war's mir zu schwierig das ganze nachzuvollziehen, um auf einen Lösungsvorschlag zu kommen.:"D


    Wenn ich nun die Ampelschaltung richtig verstanden habe, würde ich es so machen, wie du's vorschlägst.

  • Hey zusammen,


    ich hab jetzt ein bisschen herumprobiert und es lag in der Tat daran, dass keine zwei Anforderungen gleichzeitig überprüft werden können - danke für eure Hilfe :thumbup:


    Ich würde die Anforderung auf das Hauptsignal setzen, mach dann halt 200m oder so, dann springt nämlich selbst wenn du hinterm vorsignal bist, die Ampel noch um.

    Das Vorsignal kannst du dann als feste Ampelschaltung bei Anforderung am Hauptsignal definieren.

    Ich habs jetzt folgendermaßen gelöst:

    Die Anforderungen fragen jetzt nacheinander ab, ob ein Bus Kontakt hat - erst die mit Vorsignal und dann die ohne. Das TrafficLight Bus mit Vorsignal (rot) liegt auf dem kurzen 1m Stück Pfad unmittelbar vor der Kreuzung und als Approachdistance hab ich 250m - das funktioniert nach meinen Tests auch ganz gut so.



    Eine Verständnisfrage hab ich allerdings noch zum Crossing Editor:

    Was bedeutet in der Stop/Jump Section das Feld "Stop/Jump if NO Approach (else IF Approach)"?

  • "Stop/Jump if NO Approach (else IF Approach)"

    Ist hier das Häckchen gesetzt, wird der stop bzw jump umgesetzt, wenn KEINE Anforderung besteht.

    Ist das Kästchen nicht aktiviert, reagiert es nur bei Anforderung.


    Sprich: soll die Busphase übersprungen werden, wenn kein Bus kommt, wird das Kästchen aktiviert.

    Soll während der Grünphase des Busses diese gestoppt (sprich verlängert) werden, wenn ein Bus die Anforderung aktiviert, wird das Kästchen nicht aktiviert.


    Übrigens: lässt du das "Jump to Time:" deaktiviert, wird die Ampelschaltung bei der oberen eingetragenen Zeit gestoppt, solange eine bzw. keine (jnd. was bei "Stop/jump if NO ..." aktiviert wurde) Anforderung aktiv ist.

  • Ich muss auch echt sagen, dass das Thema am Anfang irgendwie echt schwer zu verstehen ist, aber wenn man es einmal drin hat, ist es super einfach.

    Müsste ich eig doch nochmal irgendwann einen Wiki Beitrag zu schreiben....

  • Gibt es dazu nicht bereits eine ziemlich ausführliche Dokumentation? Ich meine mich zumindest zu erinnern, dass ich mich in das ganze Thema eingelesen hatte. Wüsste aber nicht mehr wo das zu finden wäre.

  • Dann könnte man ja auch ein kompletten Wiki Eintrag zum Crossing Editor schreiben, sodass man zur Übersicht alles wichtige an einem Platz hat.

    Ich hatte mal überlegt einen solchen Artikel zu schreiben.

    Dann schreibe du doch den Teil und ich den Teil mit der Anforderung? ;)
    Wäre doch ne Idee