Jump to content

Empfohlene Beiträge

Geschrieben

Hallo @Neo

bei Kreuzungen für den Straßenverkehr ist es häufig notwendig, Gleiskontakte, obwohl sie auf verschiedenen Spuren liegen, so zu platzieren, das Fahrzeuge sie berühren, obwohl sie gerade andere Spuren befahren. 

Hier mal ein Beispiel: 

Der Audi TT fährt mit V = 50 km/h auf die Kreuzung mit der Ampel auf "grün" zu. Auf der Gegenspur als Linksabbieger befindet sich ein langer Bus, der gerade losfährt.  

Screenshot2024-12-02121950.thumb.jpg.3893f796602702e456a724b45f3ddc48.jpg

Deshalb reduziert der Audi TT über die EV die Geschwindigkeit auf 20 km/h, damit der lange Bus ausreichend Zeit hat die Kreuzung zu verlassen.

Screenshot2024-12-02121625.thumb.jpg.ef611ce469ad7877be381852957fa69f.jpg

So ist es programmiert und gewollt. 

Das ganze hat nur den Nebeneffekt, das auch Fahrzeuge, die nicht auf der Spur fahren, auf der sich der Gleiskontakt für die Linksabbieger befindet, dieses Ereignis auslösen.  

Screenshot2024-12-02123403.thumb.jpg.3252205dc27704ee898c26711c597ed7.jpg

Hier könnte man es ja vielleicht noch verstehen, da der grüne LKW den Gleiskontakt fast vollständig abdeckt. Der LKW fährt aber geradeaus und biegt nicht links ab, wo sich eigentlich der Gleiskontakt befindet.  

Screenshot2024-12-02123425.thumb.jpg.906a5dc72f0cc60e928d00e906663588.jpg

Hier jedoch nicht mehr. Der LKW biegt rechts ab. 

Screenshot2024-12-02123605.thumb.jpg.cb20a332288a0ed10aa2b0180f5800a9.jpg

Screenshot2024-12-02123632.thumb.jpg.ff6fa2b693874d5223ffe35cb655de13.jpg

Allein der Reifen des LKW auf der Spitze des Gleiskontaktes für Linksabbieger löst schon ungewünscht das Ereignis aus. 

Screenshot2024-12-02123701.thumb.jpg.212bb2645794fe657c7b0b8753e63c52.jpg

Ist es möglich, das bei Gleiskontakten auch nur dann Ereignisse ausgelöst werden, wenn die Fahrzeuge tatsächlich auf der Spur fahren, auf der sich auch der Gleiskontakt befindet? 

Dies ist zwar nur ein Beispiel, aber dieser Effekt hat deutlichen Einfluss auf die gesamte EV-Steuerung. Dann darf man sich auch nicht wundern, wenn Fahrzeuge sich anders verhalten, als es die EV-Programmierung vorsieht. Es werden dadurch Ereignisse ausgelöst, die nicht gewollt sind. 

VG,

Hawkeye

Geschrieben (bearbeitet)
vor einer Stunde schrieb Hawkeye:

Das ganze hat nur den Nebeneffekt, das auch Fahrzeuge, die nicht auf der Spur fahren, auf der sich der Gleiskontakt für die Linksabbieger befindet, dieses Ereignis auslösen.

Es tut mir leid, Hawkeye, aber das ist ganz bestimmt nicht der Fall.

Die räumlichen Gegebenheiten spielen bei der Auslösung von Kontakten überhaupt keine Rolle!

Im folgenden Beispiel habe ich drei Kontakte auf die drei möglichen Wege an einer Kreuzung gesetzt.
Die Kontakte habe ich zur Unterscheidung "Gleiskontakt links", "Gleiskontakt mitte" und "Gleiskontakt rechts" genannt.

Kreuzungmit3Kontakten.thumb.jpg.ec22bdf5a974f1dbbdc7a38e1f098ba6.jpg

Im Protokoll kannst du sehen, dass der Käfer (der von links kam und rechts abbog) nur den Kontakt "Gleiskontakt rechts" ausgelöst hat.
Und zwar dreimal hintereinander. 

Was das Fehlverhalten bei dir bewirkt, kann ich nicht erkennen. Ich habe dein Beispiel auch nicht näher untersucht.
Ich wollte dir nur insofern helfen, als dass ich die von dir vermutete Ursache sicher ausschließen kann.

Ergänzung: Ich finde auch im Ereignisprotokoll in deinem vorletzten Screenshot keine Zeile, die besagt dass KrzgmA-02: BK zu Ampel 02 vom LKW ausgelöst worden wäre.

Viele Grüße
Götz

Bearbeitet von Goetz
Ergänzungen
Geschrieben (bearbeitet)
vor 2 Stunden schrieb Goetz:

Was das Fehlverhalten bei dir bewirkt, kann ich nicht erkennen. Ich habe dein Beispiel auch nicht näher untersucht.
Ich wollte dir nur insofern helfen, als dass ich die von dir vermutete Ursache sicher ausschließen kann.

Ergänzung: Ich finde auch im Ereignisprotokoll in deinem vorletzten Screenshot keine Zeile, die besagt dass KrzgmA-02: BK zu Ampel 02 vom LKW ausgelöst worden

Hallo Götz, 

ich habe die print() - Erläuterungen entsprechend ergänzt. Wie ist das sonst zu erklären? 

Screenshot2024-12-02151905.thumb.jpg.a7a80f675a6c30a2577caa191e6245a1.jpg

Screenshot2024-12-02151850.thumb.jpg.c5f3ae329870d6c3d95d6a1b0fc70dfc.jpg

Hier die (unfertige) Anlage dazu. Sie stoppt per Error wenn das Ereignis eintrifft. Kann aber dauern. mit 3-facher Geschwindigkeit abspielen.

Fahrzeug auf anderer Spur als ein GK.mbp

Betrifft das Ereignis "Bremsweg vor Ampel wird betreten"  

VG,

Hawkeye

Bearbeitet von Hawkeye
Geschrieben (bearbeitet)

Hallo Hawkeye,
in Normalgeschwindigkeit lief deine Anlage für 20 Minuten fehlerfrei.

Dann habe ich sie erneut gestartet und diesmal in vierfacher Geschwindigkeit (= drei Pfeile) laufen lassen.
Diesmal kam es recht schnell zur Fehlermeldung.

AchtungGegenverkehr.thumb.jpg.d6cf8ebc440b4ddcc771a47adbeb4e70.jpg

Ein Fehlverhalten erkenne ich aber nicht.

Als der grüne Bus die Bremsspur auf der rechten Seite betrat, waren alle Bedingungen für die Errormeldung erfüllt.

  1. die Ampel vor ihm ist Grün (= Ampel steht nicht "nicht auf Grün")
  2. Die Variable "BK Linksabbieger Gegenspur" existiert
  3. Auf dem Kontakt aus der Variablen steht ein Fahrzeug (der gelbe Gelenkbus) und ist im Begriff links abzubiegen
  4. Unter allen Fahrzeugen auf dem Kontakt gibt es mindestens eins (den gelben Gelenkbus), dessen Geschwindigkeit ungleich 0 ist.

Warum du hier gleichzeitig den grünen Bus verlangsamen und mit einer Fehlermeldung alles abbrechen willst, weißt nur du (und ich will es auch gar nicht wissen!)

Ergänzung: Wenn ich solche Szenarien untersuche, lasse ich oft eine Bildschirmaufzeichnung mitlaufen. Dann kann ich nachschauen, was zuvor geschah. Diese Aufzeichnung habe ich mir eben noch einmal angeschaut. Im Moment der Fehlerausgabe waren beide Busse, der gelbe Gelenkbus und der grüne Bus in Bewegung. Der gelbe Gelenkbus bog ab, weil es für ihn kein Hindernis gab. Der grüne Bus betrat die Bremsstrecke und "sah" (per EV) den kreuzenden gelben Gelenkbus. Es war also alles gegeben, um den grünen Bus (wie von dir beabsichtigt) abzubremsen. Nur die Errormeldung scheint mir da unangebracht.

Viele Grüße
Götz

Bearbeitet von Goetz
Ergänzungen
Geschrieben (bearbeitet)
vor einer Stunde schrieb Goetz:

Nur die Errormeldung scheint mir da unangebracht.

Wie oben schon erwähnt, ist die Steuerung noch nicht ganz fertig und ausgereift.  Die Errormeldung ist auch nur temporär eingefügt, weil ich genau an dieser Stelle ein Fehlverhalten festgestellt habe, das ich lokalisieren und abstellen möchte.   

vor einer Stunde schrieb Goetz:

Ein Fehlverhalten erkenne ich aber nicht.

In diesem Fall ist es auch kein Fehler. 

vor einer Stunde schrieb Goetz:

Ergänzung: Wenn ich solche Szenarien untersuche, lasse ich oft eine Bildschirmaufzeichnung mitlaufen. Dann kann ich nachschauen, was zuvor geschah. Diese Aufzeichnung habe ich mir eben noch einmal angeschaut. Im Moment der Fehlerausgabe waren beide Busse, der gelbe Gelenkbus und der grüne Bus in Bewegung. Der gelbe Gelenkbus bog ab, weil es für ihn kein Hindernis gab. Der grüne Bus betrat die Bremsstrecke und "sah" (per EV) den kreuzenden gelben Gelenkbus. Es war also alles gegeben, um den grünen Bus (wie von dir beabsichtigt) abzubremsen.

Das ist ja das gewollte Verhalten für Linksabbieger, die auch tatsächlich auf dem Gleiskontakt stehen und schon losgefahren sind V>0 . Nur wird das Ereignis auch ausgelöst, wenn ein Fahrzeug offensichtlich nicht auf dem GK steht und ihn nur berührt. Der LKW Dreiachser biegt nach "rechts" ab und löst das Ereignis trotzdem aus. Das kann eigentlich nicht sein.

 Screenshot2024-12-02171920.thumb.jpg.f60b466f7858503bad5a534c8d84dc88.jpg

Ein solches Verhalten von Fahrzeugen bei Gleiskontakten, die neben der eigentlichen Fahrspur liegen, ist mir bei anderen Versuchen in V8.5 schon aufgefallen. Ich werde mal die alten Anlagen check. 

vor einer Stunde schrieb Goetz:

Warum du hier gleichzeitig den grünen Bus verlangsamen ... willst, ... 

Weil die Fahrzeuge bei dem gewollten Verhalten auf freier Strecke bis zur Kreuzung und mit 50 km/h sonst zu schnell in die Kreuzung einfahren und Linksabbieger wie LKW mit Anhänger oder der lange Gelenkbus ggf. die kreuzende Spur noch nicht vollständig verlassen haben, weil sie ja gerade erst beschleunigen.

Ich denke @Neo sollte sich das mal ansehen, die Errormeldung stoppt die Ausführung jedes Mal, wenn das Ereignis ausgeführt wird, ob im richtigen oder eben auch im falschen Moment, dem ungewollten Nebeneffekt. (siehe Bild)  

@Goetz, erstmal vielen Dank für deine erste Einschätzung. 

VG,

Hawkeye

Bearbeitet von Hawkeye
Geschrieben
vor 21 Minuten schrieb Hawkeye:

Ich denke Neo sollte sich das mal ansehen

Ich habe jetzt schon eine ganze Stunde damit verplempert, nur um dann zu erfahren dass es in diesem Fall gar kein Fehler war 9_9
Warum richtest du die Fehlermeldung nicht so ein, dass sie nur im wirklichen Fall eines Fehlers "zündet"?
Und nimmst dann selbst den Betrieb als Video auf, damit du in genau dem Fall nachschauen kannst, was zum Fehler geführt hat?

Geschrieben
vor einer Stunde schrieb Goetz:

Ich habe jetzt schon eine ganze Stunde damit verplempert, nur um dann zu erfahren dass es in diesem Fall gar kein Fehler war 9_9

Tut mir zwar sehr leid :(, aber macht doch auch Spaß zuzuschauen, oder? :D

 Ich habe in meinem ersten Beitrag schon versucht ausführlich zu erklären, das das Ereignis eben nicht nur im gewünschten Fall Auftritt. 
 

vor 6 Stunden schrieb Hawkeye:

So ist es programmiert und gewollt. (Siehe erster Beitrag)

Das ganze hat nur den Nebeneffekt, das auch Fahrzeuge, die nicht auf der Spur fahren, auf der sich der Gleiskontakt für die Linksabbieger befindet, dieses Ereignis auslösen.  

Screenshot2024-12-02123403.thumb.jpg.3252205dc27704ee898c26711c597ed7.jpg

Auch belegen mehrere Bilder in meinen Beiträgen diese Beobachtung.

vor 1 Stunde schrieb Goetz:

Und nimmst dann selbst den Betrieb als Video auf, damit du in genau dem Fall nachschauen kannst, was zum Fehler geführt hat?

Dafür stoppt die Error-Funktion doch genau an dieser Stelle. Und das Ereignisprotokoll belegt meine Beobachtung. Welche Information sollte ich noch aus einem Video bekommen? Die Stelle ist exakt lokalisiert. Das Ereignis wird auch zusätzlich ausgelöst, wenn Fahrzeuge eben nicht links abbiegen. Also auch nicht auf dem Linksabieger-Gleiskontakt stehen dürften, was sie aber laut Ereignisprotokoll offensichtlich doch tun.


VG,

Hawkeye

Geschrieben
Gerade eben schrieb Hawkeye:

macht doch auch Spaß zuzuschauen, oder? 

Ja, wenn es läuft ist es wirklich nett anzusehen.

Und ich möchte mich bei dir für meine letzte Reaktion entschuldigen, weil mir jetzt (und leider erst jetzt) klar geworden ist, dass du gar keine Möglichkeit hast zwischen den beiden Fällen (Bedingungen sind erfüllt / Bedingungen sind eigentlich nicht erfüllt, wurden aber wegen einer fehlerhaften Bewertung trotzdem als erfüllt angesehen) unterscheiden kannst.

Sorry, aber es ist nicht einfach sich in ein fremdes Konzept soweit reinzudenken, dass man diese Feinheiten alle versteht.

Ich habe es jetzt auch hier beobachten können:
Der Gegenverkehr biegt rechts ab, befindet sich also auf dem Kontakt "BK Rechtsabbieger". Das Protokoll zeigt auch, dass dieser Kontakt betreten wurde und nicht der Linksabbieger Kontakt. Trotzdem meint das Ereignis, das Fahrzeug auf dem Linksabbieger Kontakt zu registrieren.

Wirklich merkwürdig.

vor 6 Minuten schrieb Hawkeye:

Dafür stoppt die Error-Funktion doch genau an dieser Stelle.

Aber mit dem Video siehst du alle Fahrzeugbewegungen vor dem Ereignis. Und daraus kann man manchmal Rückschlüsse ziehen, die das Protokoll alleine nicht hergibt.

Geschrieben
vor 17 Minuten schrieb Goetz:

Und ich möchte mich bei dir für meine letzte Reaktion entschuldigen, weil mir jetzt (und leider erst jetzt) klar geworden ist,…

Nicht dafür, manchmal schreibt man Sachen in einem Ton, den andere dann auch schnell in den falschen Hals bekommen, auch wenn es gar nicht so gemeint ist.;) Runterschlucken und „gut is“, oder? 

vor 22 Minuten schrieb Goetz:

Sorry, aber es ist nicht einfach sich in ein fremdes Konzept soweit reinzudenken, dass man diese Feinheiten alle versteht.

Verständlich, geht mir auch oft so.

vor 25 Minuten schrieb Goetz:

Aber mit dem Video siehst du alle Fahrzeugbewegungen vor dem Ereignis. Und daraus kann man manchmal Rückschlüsse ziehen, die das Protokoll alleine nicht hergibt.

Danke, das merke ich mir für die Zukunft. Ich diesem Fall dauert es mir einfach zu lange, bis der Effekt mal auftritt, deshalb Error mit Meldung.

VG,

Hawkeye

Geschrieben

Ich habe eine kleine Beispielanlage gebastelt, die auf das Fehlverhalten reduziert ist:

FahrzeugauffalschemKontakterkannt.thumb.jpg.3c1f54b6e936f7a0f35649762738df7d.jpg

Aus dem grünen Depot kommen endlos nacheinander vier verschiedene Fahrzeuge.

Jedes löst beim Betreten eines grünen Kontakts ein Ereignis aus, dass eine Zehntelsekunde später für jeden der drei Kontakte prüft, ob sich ein Fahrzeug darauf befindet. Falls ja, blinkt die zugehörige gelbe Lampe kurz auf.

Soweit ich bisher beobachten konnte, meldet immer nur einer der drei Kontakte ein Fahrzeug. Aber bei den beiden langen Fahrzeugen (Faun und Gelenkbus) ist es häufig der falsche. Die beiden kurzen Fahrzeuge (Käfer und Bulli) werden immer auf dem richtigen Kontakt registriert.

Anlage: Fahrzeug auf falschem Kontakt registriert.mbp

Viele Grüße
Götz

Geschrieben
vor 15 Minuten schrieb Goetz:

Aber bei den beiden langen Fahrzeugen (Faun und Gelenkbus) ist es häufig der falsche. Die beiden kurzen Fahrzeuge (Käfer und Bulli) werden immer auf dem richtigen Kontakt registriert.

Interessante Beobachtung! Jetzt wo du es erwähnst, sind es bei mir auch immer LKW mit Anhängern oder der Gelenkbus gewesen, die für das falsche Ergebnis auslösend waren. 

VG,

Hawkeye

Geschrieben
vor 9 Minuten schrieb Hawkeye:

Interessante Beobachtung!

Viel wichtiger finde ich eigentlich, dass du erkennst wie man das Ganze minimalisieren muss.

Meine Demo braucht Null Einarbeitungszeit. Da kann Neo sofort sehen, ob eventuell ein Fehler in meiner EV vorliegt oder nicht.
So unterstützt man ihn bei der Fehlersuche. Ich kann mich ein paar Stunden damit rumschlagen und alles durchforsten, bis ich jede unsichtbare Fahrspur und ihre Referenzen zu Kontakten und Ampeln gefunden habe. Bis ich die Wirkweise von jedem der vielen Elemente verstanden habe. Bis ich auch alle eventuellen Nebeneffekte anderer EV Ereignisse geprüft und ausgeschlossen habe. Aber Neo möchte ich das gerne ersparen. Der kann mit seiner Zeit sinnvolleres anfangen. Mit einem wirklich spartanischen Beispiel, auf dem man ein Fehlverhalten sofort und sicher nachvollziehen kann, ist ihm besser gedient. Dann kann er sich sofort auf die Fehlersuche konzentrieren!

Im Nachherein hätte ich mein Beispiel noch etwas klarer gestalten können. Anstatt zufällig eins der Ziele zuzuweisen, hätte ich besser einen Umschalter eingebaut oder zyklisch nach einem vollen Durchlauf für alle Fahrzeuge zum nächsten Ziel gewechselt. So muss man immer noch warten, ob es vielleicht diesmal passiert oder nicht.

Geschrieben (bearbeitet)
vor 42 Minuten schrieb Goetz:

Ich habe eine kleine Beispielanlage gebastelt, die auf das Fehlverhalten reduziert ist:

Super, genau das ist es. Die Lämpchen habe ich 2 s eingestellt und ein paar Fahrzeuge hinzugefügt.

 Screenshot2024-12-02214814.thumb.jpg.93acf8f41dba8d90825e1f252df1d77b.jpg

vor 5 Minuten schrieb Goetz:

Viel wichtiger finde ich eigentlich, dass du erkennst wie man das Ganze minimalisieren muss.

:D Habe ich ja auch versucht, aber ich war leider nicht so erfolgreich wie du. :/

 Screenshot2024-12-02190631.thumb.jpg.4f7130fba4b5234e6736c15cc73417b4.jpg

VG,

Hawkeye

Bearbeitet von Hawkeye
Geschrieben

Hallo,

ich kann das Verhalten mit Götz' Beispielanlage auch sehr schnell reproduzieren und werde es mir anschauen.

Viele Grüße,

Neo

Geschrieben

Ich finde dieses springen von Anhängern oä. an Abzweigen sehr lästig. Ich hatte an der Stelle allerdings noch keinen Gleiskontakt plaziert. Ich habe mir dann immer so beholfen, dass ich für das entsprechende Fahrzeug ein Ziel hinter der Abzweigung definiert habe, oder ich habe dieser Abzweigung Weichenstellungen hinzugefügt. Wenn diese Abzeigung Weichenstellungen hat, wird sie korrekt befahren, hat allerdings den Nachteil, dass eine Zielzuweisung, in der diese "Weiche" involviert ist, nicht mehr möglich ist. Bei den Straßenkreuzungen und Abzweigungen liegen die Spuren wohl so dicht beieinander, dass man dieses springen optisch vielleicht garnicht wahrnimmt.

temp.thumb.JPG.8575cc5d7f37b323dfa3d5ec100c7ce1.JPG

Der LKW kam aus Pfeilrichtung, bei der Vorbeifahrt springt der Anhänger auf die Abzweigende Spur. Das ist aber nicht erst seit V9 so.

Es wäre toll, wenn @Neo dieses Verhalten eliminieren könnte.

LG Ronald

 

 

 

Geschrieben (bearbeitet)
vor 45 Minuten schrieb RoniHB:

Ich finde dieses springen von Anhängern oä. an Abzweigen sehr lästig.

Das kannst du abstellen, indem du dem Fahrzeug ein Ziel zuweist. (Weißt du ja, hast du eben gesagt ...)
Mit einem Ziel wissen Zugfahrzeug und Anhänger, auf welcher Spur sie fahren. Ohne Ziel kann das durcheinanderkommen.

Weichen hatten im Straßenverkehr die größeren Nachteile.
Aber ihre Eliminierung erfordert jetzt, dass ein Fahrzeug weiß, wohin es fahren soll. (sprich: ein Ziel hat.)

Bearbeitet von Goetz
Geschrieben

Hallo,

ich konnte den Fehler ausfindig machen. Die Funktionen hinter "Fahrzeug befindet sich auf einem Gleis/Gleiskontakt" haben die Zielführung von Fahrzeugen nicht berücksichtigt. Dadurch kam es zu zufälligen Ergebnissen in Kreuzungsbereichen. Interessanterweise gibt es den Fehler seit V7.

Mit dem nächsten Update ist das Problem behoben.

Viele Grüße,

Neo

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...