Geschrieben Gestern um 16:33 Uhr1 Ta Hallo @Neo ,ich habe einen Wunsch. Ist es möglich, die Methode vehicle:isHeadingToward(object) um die Option und Rückgabe der Strecke in [m] zu erweitern, um die tatsächlich noch zu fahrende Strecke eines Fahrzeuges zurückzugeben.Im Moment (missbrauche ) bzw. verwende ich dazu die Fahrstraßen. Aber die Strecke gilt ja nur für den Abstand zwischen 2 Gleisen oder Gleiskontakten. Befindet sich das Fahrzeug schon zwischen den Kontakten auf dem Weg zum Zielkontakt, dann muss der Restweg noch aufwändig berechnet werden.Hier mal ein Beispiel, wie das aussehen könnte.Interessant ist, obwohl es beide Varianten nicht gibt, im Ereignisprotokoll für Variante 1 mit (object, 1) kein Fehler erzeugt wird und ein Boolean-Wert zurückgegeben wird.Und bei Variante 2 die Fehlermeldung sowieso einen numerischen Wert erwartet. Diese würde ich somit auch bevorzugen.Da es auch nur um eine kurze Strecke von < 150m geht, wie bei :getVehiclesOnRoute(contact1,contact2) ,dürfte doch bei der Ermittlung der Strecke bei der internen Berechnung kaum ein Performance-Verlust entstehen.VG,Hawkeye Bearbeitet gestern um 16:37 Uhr1 Ta von Hawkeye Korrektur
Geschrieben vor 22 Stunden22 Std Hallo,vor 2 Stunden schrieb Hawkeye: Ist es möglich, die Methode vehicle:isHeadingToward(object) um die Option und Rückgabe der Strecke in [m] zu erweitern, um die tatsächlich noch zu fahrende Strecke eines Fahrzeuges zurückzugeben.... da ich neugierig bin, was möchtest Du mit der Information über den Abstand machen?vor 2 Stunden schrieb Hawkeye: Interessant ist, obwohl es beide Varianten nicht gibt, im Ereignisprotokoll für Variante 1 mit (object, 1) kein Fehler erzeugt wird und ein Boolean-Wert zurückgegeben wird.... es wird nur ein Übergabeparameter erwartet und ausgewertet, weitere Parameter werden einfach ignoriert.GrußEASY
Geschrieben vor 21 Stunden21 Std Autor vor 10 Minuten schrieb EASY: da ich neugierig bin, was möchtest Du mit der Information über den Abstand machen?Hallo @EASY ,das habe ich eigentlich versucht mit den Bildern der Testanlage oben darzustellen.Treffen Fahrzeuge an zwei zusammenlaufende Spuren aufeinander, dann wirkt die Fahrphysik des MBS noch nicht, solange sich die Fahrzeuge noch auf den getrennten Spuren befinden.Das führt zu unschönen Kollision. Auf der Testanlage oben ändern Fahrzeuge bei solchen Kollisionen sogar ihre Fahrtrichtung, so das man manuell eingreifen und einzelne Fahrzeuge wieder neu positionieren muss.Durch die Geschwindigkeiten und die Reststrecke der Fahrzeuge zum selben Zeitpunkt kann ich ermitteln, welches der Fahrzeuge A oder B zuerst am „Treffpunkt“ also dem Zielkontakt ankommt und daraus berechnen, wie weit das andere Fahrzeug z.B. Fahrzeug B abgebremst werden muß, damit es sich hinter Fahrzeug A „einreiht“, ohne das beide kollidieren.Oben im Bild z.B.: Der rote Bus auf der Geraden und der blaue Bus in der Kurve fahren jeweils 50km/h. Beide sind auf Kollisionskurs. Die Zeit zum Schnittpunkt wird für beide berechnet und das Fahrzeug mit der höheren Fahrzeit zum Ziel (z.B.: B) wird auf eine Geschwindigkeit abgebremst, die es ermöglicht, das es mit einen Abstand von ca. 3-5m hinter dem ersten Fahrzeug (A) den Zielkontakt erreicht.Sollte sich hinter dem roten Bus noch ein Fahrzeug C befinden, soll C dann auch, falls notwendig, entsprechend abgebremst werden. Fahrzeug B soll sich dann also zwischen A und C einreihen.Im Prinzip muß ich nur noch die Streckenermittlung optimieren, die ist mit noch zu ungenau.VG,Hawkeye Bearbeitet vor 21 Stunden21 Std von Hawkeye
Geschrieben vor 20 Stunden20 Std Die Funktion isHeadingToward berechnet intern bereits den Abstand bis zum Ziel (innerhalb des maximalen Suchradius von 150 Metern), ich kann diesen Wert gern zusätzlich mit zurückgeben. Es bedarf dafür keinen zusätzlichen Parameter, Lua erlaubt mehrere Rückgabeparameter.
Geschrieben vor 19 Stunden19 Std Autor vor 9 Minuten schrieb Neo: Die Funktion isHeadingToward berechnet intern bereits den Abstand bis zum Ziel (innerhalb des maximalen Suchradius von 150 Metern), ich kann diesen Wert gern zusätzlich mit zurückgeben. Es bedarf dafür keinen zusätzlichen Parameter, Lua erlaubt mehrere RückgabeparameterDas wäre klasse, danke @Neo 👍
Geschrieben vor 19 Stunden19 Std Hallo @Hawkeye ,danke für die Erklärung. Eine interessante Aufgabenstellung.vor 7 Minuten schrieb Neo: Die Funktion isHeadingToward berechnet intern bereits den Abstand bis zum Ziel (innerhalb des maximalen Suchradius von 150 Metern), ich kann diesen Wert gern zusätzlich mit zurückgeben.... wäre schön, denn es würde sich auch gut dazu eignen Anfangssituationen (Startparameter, wenn eine Anlage anläuft) genauer zu erfassen...GrußEASY
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren