Jump to content

3D-Modellbahn Studio V9 - Vorfahrtsregelung


Hawkeye

Empfohlene Beiträge

Hallo HaNNoveraNer,

ich habe deine Anlage nur kurz überflogen, mir sind das etwas zu viele Variablen und Timer. Ich habe selber deine Straße genutzt um eine eigene Version zu implementieren:
DB356342-5047-4E9D-8584-93B785CED91D

Meine Version folgt dem immer gleichen Prinzip:

  • (Vorbereitung): Nähert sich ein Fahrzeug der Kreuzung, wird ein zufälliges Ziel ermittelt
  • Betritt ein Fahrzeug den Vorfahrtskontakt, wird zuerst die Richtung ermittelt, in die das Fahrzeug fährt
  • Für jede Richtung gibt es ein eigenes benutzerdefiniertes Ereignis
    • Ist die Strecke frei, fährt das Fahrzeug weiter
    • Ist die Strecke blockiert, stoppt das Fahrzeug und probiert es später noch einmal

Zur Prüfung, ob eine Strecke frei ist, nutze ich die neue Funktion "GetVehiclesOnRoute". Da Fahrzeuge beim Stoppen am Vorfahrtskontakt den Kontakt aber minimal überfahren, würden wartende Fahrzeuge die Strecke fälschlicherweise blockieren. Ich nutze daher eine Erweiterung, die nur fahrende Fahrzeuge prüft (mit dem Nachteil, das Fahrzeuge nicht mitten auf der Kreuzung stehen bleiben dürfen).

Die Funktion "Fahrzeug fährt in Richtung eines Gleiskontakts" nutze ich, um die Fahrtrichtung zu ermitteln. Diese hat den Nachteil, dass sie 150 m weit schaut, d.h. ich musste die Straßen soweit verlängern, dass andere Kontakt der Kreuzung außerhalb der 150 m liegen. Hier könnte man über eine Erweiterung nachdenken, bei der der Nutzer die maximale Reichweite selber bestimmen kann.

Das System lässt sich auf beliebige Kreuzungen erweitern und auch noch weiter abstrahieren, da immer die gleichen Abläufe stattfinden, mit dem Ziel, eine voll funktionsfähige Kreuzung im Katalog anzubieten, die ein Nutzer einfach nur auf die Anlage zieht. Im Moment soll die Anlage aber auch nur ein Ideengeber sein.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo, 

ich habe mal den Ansatz von @Neo ausprobiert.  

Am 3.11.2024 um 20:13 schrieb Neo:

Dann kannst du meiner Meinung nach auch darauf verzichten, wohin ein Fahrzeug tatsächlich fährt. Es genügt, einfach die Bereiche auf Vorhandensein eines Fahrzeugs zu prüfen, die zu einer Kollision führen könnten.

Natürlich gleich an der großen Kreuzung. :D  Es geht tatsächlich ohne die Fahrziele zu benutzten. 

Und die Steuerung ist auch einigermaßen übersichtlich. Leider geht es nicht ganz ohne Lua. 

Da sich aber einige Vorfahrtregeln gegenseitig ausschließen, kommt es noch häufig zu unplanmäßigen Stop's. Dafür habe mal ein paar Schalter mitberücksichtigt, um den Verkehr wieder zum Laufen zu bringen. Bei der hier dargestellten Situation, sollte eigentlich das Fahrzeug von "Ost" schon fahren können. 

Screenshot2024-11-05191640.thumb.jpg.886d66b0985c6849548bb5429b0fd7ef.jpg

Da aber das Fahrzeug von "West" auf den GK steht, wird die gesamte Abbiegestrecke nach "Nord" schon blockiert. 

@Neo Verbesserungsvorschlag: Ein Fahrzeug das auf dem GK und hält (V=0), sollte den kommenden Streckenabschnitt nach "Nord" nicht blockieren. 

Screenshot2024-11-05191552.thumb.jpg.2468285175dff09def971f306e3e7241.jpg

Hier mal die Testanlage dazu. 

V9-große Kreuzung 01.mbp

VG,

Hawkeye

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Stunden schrieb Neo:

Da Fahrzeuge beim Stoppen am Vorfahrtskontakt den Kontakt aber minimal überfahren, würden wartende Fahrzeuge die Strecke fälschlicherweise blockieren.

Das gilt wohl auch für die neue Bedingung „Fahrzeuge zwischen zwei Gleiskontakten“. Kann hier nicht ein stehendes Fahrzeug ignoriert werden?

VG,

Hawkeye

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 38 Minuten schrieb Hawkeye:

Kann hier nicht ein stehendes Fahrzeug ignoriert werden?

In meinem Beispiel habe ich das mit Lua gelöst, standardmäßig würde ich das aber nicht in die Funktion integrieren, weil sie ja auch für andere Zwecke eingesetzt werden kann (z.B. um alle Fahrzeuge innerhalb eines Bereiches anzusprechen). Eine Option wäre aber, einen "Filter" zu "Fahrzeuge zwischen zwei Gleiskontakten" hinzuzufügen, um nur bestimmte Fahrzeuge je nach Einstellung zu berücksichtigen. Das würde ich am Ende entscheiden, wenn die Vorfahrtsexperimente abgeschlossen sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nur mal als Anmerkung.

Die Straßenverkehrsordnung , jedenfalls die deutsche, verlangt die Einrichtung von separat getrennten Abbiege- und Geradeausspuren. Die im vorherigen Beitrag  gezeigte Kreuzung erfüllt diese Anforderung nicht. 

Hier eine real existierende Kreuzung in meiner Heimatstadt. Man beachte die Spurenanordnung und die Markierung. Normalerweise sollte auch das MBS sich an die Straßenverkehrsvorschriften halten.

 Kreuzung.thumb.JPG.6d153fdcf8290d16f988c08d9ae25a62.JPG

Gruß

streit_ross

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 33 Minuten schrieb streit_ross:

Die Straßenverkehrsordnung , jedenfalls die deutsche, verlangt die Einrichtung von separat getrennten Abbiege- und Geradeausspuren.

Zeig mir mal bitte, wo sie das tut.

Und erklär mir dann bitte diese Kreuzung hier:

https://maps.app.goo.gl/CjXjSwKGfzxdJnhW7

Klar sind Abbiegespuren häufig zu finden, weil sie den Verkehrsfluss verbessern.
Aber wo es nicht passt, da gibt es keine. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 10 Stunden schrieb Neo:

In meinem Beispiel habe ich das mit Lua gelöst,

Danke, werde ich auch mal versuchen. 

vor 9 Stunden schrieb Phrontistes:

aber das habe ich mehrfach gesehen. Immer Linksabbieger West --> Nord vs. von Ost kommend entweder gerade nach West (wie im Bild) oder rechtsabbiegend nach Nord.

Ja, leider. Das liegt wohl daran, das die 3 Gleiskontakte so dicht beieinander liegen. Dadurch stoppt manchmal ein Fahrzeug auf einem falschen GK, der nicht der Fahrtrichtung entspricht. Schiebt man die GK etwas weiter nach vorne, dann fahren Fahrzeuge wieder durch die davor stehenden durch. :(  

@Neo In der obigen Anlage habe ich Probleme mit den Schaltern Nord und Süd. 

Obwohl die Fahrzeuge auf den in den Schaltern hinterlegten GK stehen, findet das Programm die Fahrzeuge nicht und weist ihnen somit keine Geschwindigkeit zu. 

 

Screenshot2024-11-06080840.thumb.jpg.f00e9c86e55afca83003f77d400100ae.jpg

Screenshot2024-11-06080952.thumb.jpg.7ad38efccb2f689c483094db14dfef2c.jpg

VG,

Hawkeye 

Link zu diesem Kommentar
Auf anderen Seiten teilen

 

Am 5.11.2024 um 18:44 schrieb Neo:

Zunächst ging es mir um eine kollisionsfreie Kreuzung durch Nutzung der neuen EV-Möglichkeiten. Prioritäten können darauf aufbauen.

Hallo @Neo

Ich habe die Prioritäten mal darauf aufgebaut.
Jetzt werden die Vorfahrtsregeln in den meisten Fällen eingehalten.
Die Fahrzeuge tragen sich in eine Prioritätenliste ein.
Wer immer fahren darf erhält Prio 1.
Wer einen vorlassen muß erhält Prio 2.
Wer zwei vorlassen muß erhält Prio 3.
u.s.w.

Damit kann man jetzt gut leben.

P.S. Nochmal korrigiert nach 1. hochladen.

 

Vorfahrt1.mbp

Bearbeitet von HaNNoveraNer
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...