Hawkeye Posted November 3 Posted November 3 (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. Von den 3 Fahrzeugen auf dieser Strecke fährt aber keines zum "GK nach Nord", egal , ob ich die Bedingung oder die Wiederholung verwende. 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 November 3 by Hawkeye
HaNNoveraNer Posted November 3 Posted November 3 (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 November 3 by HaNNoveraNer
Goetz Posted November 3 Posted November 3 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.
Hawkeye Posted November 3 Author Posted November 3 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
Hawkeye Posted November 3 Author Posted November 3 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
Goetz Posted November 3 Posted November 3 (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 November 3 by Goetz Ergänzungen
Hawkeye Posted November 3 Author Posted November 3 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
Goetz Posted November 3 Posted November 3 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.
EASY Posted November 3 Posted November 3 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
Hawkeye Posted November 3 Author Posted November 3 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
Neo Posted November 3 Posted November 3 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
Phrontistes Posted November 3 Posted November 3 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
Neo Posted November 3 Posted November 3 Für die Vorfahrtsprüfung genügt auch die Bedingung, die Wiederholung könnte in anderen Bereichen sinnvoll sein.
Phrontistes Posted November 3 Posted November 3 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 . Und selbst wenn: Ohne einen Zähler geht das nicht.
Neo Posted November 3 Posted November 3 Meinst du die Bedingung oder Wiederholung? Die Anzahl spielt für die Vorfahrt keine Rolle.
Phrontistes Posted November 3 Posted November 3 Sorry, ich war gedanklich die ganze Zeit bei der Wiederholung hatte übersehen, dass es die Bedingung "Vehicle is located between two track contacts" ja auch gibt.
Hawkeye Posted November 4 Author Posted November 4 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. Bei der Bedingung "Fahrzeug befindet sich zwischen zwei Gleiskontakten" spielt es keine Rolle , welches Fahrzeug das ist. Ist es möglich bei "Fahrzeug fährt in Richtung eines Gleiskontaktes" auch "beliebig" als Auswahl einstellen zu können? 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
Neo Posted November 4 Posted November 4 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
HaNNoveraNer Posted November 4 Posted November 4 Ist es eigentlich völlig egal, wo sich diese Gleis Kontakte befinden? Kreuzungen, Abzweigungen, alles kann dazwischen sein? Oder gibt es da Regeln?
Hawkeye Posted November 4 Author Posted November 4 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
Neo Posted November 4 Posted November 4 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.
Phrontistes Posted November 4 Posted November 4 vor 5 Minuten schrieb Neo: dürfen die Kontakte nicht weiter als 1.5 m voneinander entfernt liegen Wie ist das gemeint? 1,5 m im Maßstab 1:1 wäre ja fast nichts.
Goetz Posted November 4 Posted November 4 Der Basismaßstab im Modellbahnstudio ist H0. Darauf beziehen sich die 1,5 Meter (gut 130 Meter in 1:1 Maßstab)
HaNNoveraNer Posted November 5 Posted November 5 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now