Jump to content

Recommended Posts

Posted (edited)

Hallo @Neo

ich bin dabei, die neuen Funktionen für den Straßenverkehr zu testen.    

 

  • Neue Bedingung, Wiederholung und Lua-Funktion zum Ermitteln von Fahrzeugen zwischen zwei Gleiskontakten. Damit lassen sich z.B. Vorfahrtsregeln einfacher umsetzen.

Es sollen alle Fahrzeuge erkannt werden, die von "GK von Süd" zum "GK nach Nord" fahren. 

Screenshot2024-11-03174718.thumb.jpg.498d73a9c237ea8452e9611d010e79c7.jpg

Von den 3 Fahrzeugen auf dieser Strecke fährt aber keines zum "GK nach Nord", egal , ob ich die Bedingung oder die Wiederholung verwende. 

Screenshot2024-11-03175021.thumb.jpg.dc6c66396e5ea75c44f3530ee60bf6d0.jpgScreenshot2024-11-03175123.thumb.jpg.c302130ecb0054f5cc577b4f3bf9977c.jpgScreenshot2024-11-03175050.thumb.jpg.1331cc92bb6b71086aa5e806cc20f3d2.jpg

Eigentlich dürfte mir hier kein Fahrzeug angezeigt werden, das zum "GK nach Nord" fährt, da alle Fahrzeuge auf dieser Strecke vorher abbiegen.  

Sicherlich teilen sich alle Fahrzeuge die lange Gerade auf der sie sich in diesem Moment auch befinden. Aber eine solche Anweisung macht aus meiner Sicht nur dann Sinn, wenn ich damit auch die Fahrzeuge die auch tatsächlich auf den Ziel-GK zufahren herausfiltern kann. 

In diesem Fall wäre das nach meinem Verständnis "0" - Fahrzeuge.

VG, 

Hawkeye

Edited by Hawkeye
Posted (edited)

Hallo Hawkeye 

Es werden nicht die Fahrzeuge auf einer Route angezeigt, sondern nur die, die sich auf der Strecke zwischen den angegebenen Kontakten befinden. 

Damit kann man ganze Abschnitte abfragen, in die ein anderes Fahrzeug einfahren möchte. 

Wenn du Ziele von Fahrzeugen benötigst, geht das eventuell über die im Fahrzeug hinterlegte Route. Ich habe aber momentan nicht mehr im Kopf, ob die EV Bedingungen das können. 

 

Edited by HaNNoveraNer
Posted
vor 52 Minuten schrieb Hawkeye:

Sicherlich teilen sich alle Fahrzeuge die lange Gerade auf der sie sich in diesem Moment auch befinden.

Genau. Und so lautet auch das Kriterium für die Wiederholung:

Für alle Fahrzeuge zwischen zwei Kontakten.

Weitere Differenzierungen musst du dann selbst vornehmen, denn da sind die Anforderungen von Fall zu Fall verschieden.

 

Fahrzeuge zwischen Kontakten.jpg

Posted

Hallo @HaNNoveraNer,

vor 7 Minuten schrieb HaNNoveraNer:

Es werden nicht die Fahrzeuge auf einer Route angezeigt, sondern nur die, die sich auf der Strecke zwischen den angegebenen Kontakten befinden. 

Für die Vereinfachung von Verkehrsregel wäre das aber nützlich und erforderlich.

vor 8 Minuten schrieb HaNNoveraNer:

Damit kann man ganze Abschnitte abfragen, in die ein anderes Fahrzeug einfahren möchte

Wofür ist das zu gebrauchen? Hast du ein Beispiel parat?

vor 10 Minuten schrieb HaNNoveraNer:

Wenn du Ziele von Fahrzeugen benötigst, geht das eventuell über die im Fahrzeug hinterlegte Route.

Nein, das Ziel ist dem Fahrzeug ja schon zugewiesen. Ich möchte nur wissen, ob eines der Fahrzeug zwischen den beiden Kontakten auch tatsächlich zum den zweiten Kontakt fährt. Das ist für die Vorfahrtsregeln entscheidend.

VG,

Hawkeye

Hawkeye

Posted
vor 3 Minuten schrieb Goetz:

Weitere Differenzierungen musst du dann selbst vornehmen, denn da sind die Anforderungen von Fall zu Fall verschieden.

Na gut, 🤔. Und wie soll das helfen, Vorfahrtsregeln zu vereinfachen? Das erschließt sich mir noch nicht.

VG,

Hawkeye

Posted (edited)
vor 6 Minuten schrieb Hawkeye:

Und wie soll das helfen, Vorfahrtsregeln zu vereinfachen?

Eben wusstest du das noch.
Und wolltest deshalb wissen, wie viele Autos aus dem Bereich auf einen bestimmten Kontakt zu fahren.
Jetzt habe ich dir gezeigt, wie du die fehlende Information dazu bekommst.
Und plötzlich weißt du nicht mehr, wozu das gut sein sollte?

Die gezeigte Kombination aus Wiederholung und Bedingung gibt dir genau das, worum du gebeten hattest.

Edited by Goetz
Ergänzungen
Posted
vor 10 Minuten schrieb Goetz:

Die gezeigte Kombination aus Wiederholung und Bedingung gibt dir genau das, worum du gebeten hattest.

Ja, danke, dass habe ich verstanden. 

vor 13 Minuten schrieb Goetz:

Jetzt habe ich dir gezeigt, wie du die fehlende Information dazu bekommst.
Und plötzlich weißt du nicht mehr, wozu das gut sein sollte?

Kein Grund aggressiv zu werden. Es geht auch nicht darum, wozu es gut ist, sondern ob es eine Vereinfachungen darstellt.

Ich habe in der Vergangenheit viel ausprobiert, um eine einigermaßen zuverlässige Steuerung für Kreuzungen zu programmieren. Mal sehen, ob man damit weiterkommt.

VG,

Hawkeye

Posted
vor 2 Minuten schrieb Hawkeye:

Kein Grund aggressiv zu werden.

Der Grund dafür lag in deinem "Na gut, 🤔. Und wie soll das helfen ..?"
Das war keine sonderlich nette Reaktion auf mein Bemühen dir zu helfen. 

Posted

Hallo,

vor 22 Minuten schrieb Hawkeye:

Und wie soll das helfen, Vorfahrtsregeln zu vereinfachen? Das erschließt sich mir noch nicht.

... wenn du das Ziel der Fahrzeuge mit auswertest (wie von @Goetz angedeutet), hast du eine Information, wer geradeaus fahren wird, wer links abbiegen wird, wer rechts abbiegen wird... du hast also nicht nur einen Überblick über die aktuelle Situation an der Kreuzung direkt sondern auch über eine (in Grenzen) zukünftige Situation...

Gruß
EASY

Posted
vor 15 Minuten schrieb EASY:

... wenn du das Ziel der Fahrzeuge mit auswertest (wie von Goetz angedeutet), hast du eine Information, wer geradeaus fahren wird, wer links abbiegen wird, wer rechts abbiegen wird...

Dazu bietet sich dann wohl ein benutzterdefiniertes Ereignis an, das beide Bedingungen zusammenfasst. Werde ich mal versuchen.

Danke, (auch nachträglich noch an @Goetz 😉)

VG,

Hawkeye

Posted

Hallo Hawkeye,

die Abfrage "Fahrzeuge zwischen zwei Gleiskontakten" ist bewusst so gestaltet, da sie so in verschiedenen Situationen einsetzbar ist und ich dennoch eine Vereinfachung der Vorfahrtsteuerung erwarte. Zunächst würde ich die Strecke zwischen den Gleiskontakten kleiner gestalten, in deinem Fall z.B. den Südkontakt deutlich näher an die Kreuzung verschieben. 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.

Viele Grüße,

Neo

Posted

Hallo @Neo,

vor einer Stunde schrieb Neo:

Es genügt, einfach die Bereiche auf Vorhandensein eines Fahrzeugs zu prüfen, die zu einer Kollision führen könnten.

das ist sicher eine sinnvolle Prüfung. Wozu aber die Iteration? Welche(s) Fahrzeug(e) das ist/sind und wie viele es sind, ist doch eigentlich egal.

Beste Grüße

Phrontistes

Posted

Für die Vorfahrtsprüfung genügt auch die Bedingung, die Wiederholung könnte in anderen Bereichen sinnvoll sein.

Posted

Die Wiederholung hat aber den Nachteil, dass man ohne Lua nicht ermitteln kann, ob sich 0 oder mehr Fahrzeuge im Abschnitt befinden. Die lokale Variable ist in der graphischen EV ja (noch) nicht verfügbar B|. Und selbst wenn: Ohne einen Zähler geht das nicht.

Posted
vor 19 Stunden 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.

Hallo Neo, 

das sehe ich nicht ganz so. Wenn z.B. ein Fahrzeug von links kommend rechts abbiegt, dann kann ein anderes wartendes Fahrzeug auch schon vorher rechts abbiegen. 

vor 17 Stunden schrieb Phrontistes:

Welche(s) Fahrzeug(e) das ist/sind und wie viele es sind, ist doch eigentlich egal.

Das sehe ich wie @Phrontistes. Deshalb fehlt aus meiner Sicht die Möglichkeit ein beliebiges Fahrzeug das auf einen GK zufährt auswählen zu können. 

In diesem Bild das wartende Fahrzeug auf "West", wenn es denn rechts abbiegen wollte. 

Screenshot2024-11-04151624.thumb.jpg.04599276e5822909f3a76efc89cd5290.jpg

Bei der Bedingung "Fahrzeug befindet sich zwischen zwei Gleiskontakten" spielt es keine Rolle , welches Fahrzeug das ist. 

Screenshot2024-11-04151136.thumb.jpg.b432cf095acc4065173489a43dd3d3e4.jpg

Ist es möglich bei "Fahrzeug fährt in Richtung eines Gleiskontaktes" auch "beliebig" als Auswahl einstellen zu können?  

Screenshot2024-11-04151227.thumb.jpg.34055dde6033640669017bfa481c6f1c.jpg

Es sollen ja jedes Mal alle Vorfahrtsregeln geprüft werden, unabhängig davon, welches Fahrzeug gerade der Auslöser ist. Es geht doch darum, ob überhaupt ein Fahrzeug auf den gewählten GK zufährt. 

VG,

Hawkeye

Posted
vor 14 Minuten schrieb Hawkeye:

Ist es möglich bei "Fahrzeug fährt in Richtung eines Gleiskontaktes" auch "beliebig" als Auswahl einstellen zu können?  

Das wäre eine potentiell gefährliche Funktion, denn es müssten dann alle Fahrzeuge in einem Umkreis von 1,5 m ausgehend vom Gleiskontakt geprüft werden. Zum einen können das sehr viele werden, und zum anderen können dadurch auch False Positive ermitteln werden.

Ich würde die Vorfahrtssteuerung so simpel wie möglich halten und es bei der Bedingung "Fahrzeug befindet sich zwischen zwei Gleiskontakten" belassen. Ich habe aktuell leider nicht die Zeit, eine vollständige Demo-Anlage zu bauen, aber sobald es mir möglich ist, reiche ich die nach.

Ich habe damals eine ähnliche Anlage vorgestellt, die leider heute nicht mehr verfügbar ist:

Damals habe ich die Fahrstraßen zweckentfremdet, um Bereiche auf ein Vorhandensein von Fahrzeugen zu prüfen. Das kann heute mit der Bedingung "Fahrzeug befindet sich zwischen zwei Gleiskontakten" vereinfacht werden.

Viele Grüße,

Neo

Posted
vor 22 Minuten schrieb Neo:

Das wäre eine potentiell gefährliche Funktion, denn es müssten dann alle Fahrzeuge in einem Umkreis von 1,5 m ausgehend vom Gleiskontakt geprüft werden. Zum einen können das sehr viele werden, und zum anderen können dadurch auch False Positive ermitteln werden.

Ok, verstanden, danke.

Dann muß ich meinen Ansatz nochmal überdenken.

VG,

Hawkeye

Posted
vor 45 Minuten schrieb HaNNoveraNer:

Ist es eigentlich völlig egal, wo sich diese Gleis Kontakte befinden? Kreuzungen, Abzweigungen, alles kann dazwischen sein? Oder gibt es da Regeln?

Es handelt sich hierbei um die gleiche Logik wie bei den Fahrstraßen oder den Fahrzeugzielen, es muss also eine Verbindung bestehen und es dürfen nicht mehr als 7 Abzweigungen dazwischen liegen. Und aus Performancegründen dürfen die Kontakte nicht weiter als 1.5 m voneinander entfernt liegen.

Posted

Moin

Ich habe mal auf die Schnelle versucht eine Vorfahrtsregelung mit den neuen Funktionen zu schreiben.
Leider ist auch das nicht so einfach und es gibt immer noch Fehler in der Anlage.
Problem ist auch, daß sich Fahrzeuge zwischen mehreren Kontaktpaaren gleichzeitig befinden können.
Wer hier was verbessern kann oder andere Ideen  hat, ist immer willkommen...

Vorfahrt1.mbp

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...