Jump to content

Empfohlene Beiträge

Geschrieben
vor 20 Minuten schrieb Neo:

Es braucht nämlich eine Bedingnug die prüft, ob zwei Fahrzeuge innerhalb einer vorgegebenen Strecke/Zeit kollidieren werden.

Das wird interessant, wenn das Abbremsen vor engen Kurven und ein Beschleunigen aus der Kurve heraus mitberücksichtigt wird.😉

vor 28 Minuten schrieb Neo:

Mir geht es bei meiner Abzweigung um ein Proof-of-Concept, ob also Vorfahrtsregeln auch ohne komplexe Zählerlogiken auskommen können.

Ist eine gut Anregung, um damit weiter zu experimentieren.👍
 

Viele Grüße,

Hawkeye

Geschrieben

Hallo,

vor 7 Minuten schrieb Hawkeye:

Das wird interessant, wenn das Abbremsen vor engen Kurven und ein Beschleunigen aus der Kurve heraus mitberücksichtigt wird.

das muss es nicht, denn ein Autofahrer kann die Bewegungen eines anderen Autos auch nur interpolieren/schätzen und nicht exakt vorhersagen.

Viele Grüße,

Neo

Geschrieben

Einen Gruß in die Runde,

ich habe mal versucht, Neos Lösung für eine Kreuzung zu adaptieren. Hier bin ich auf folgende Punkte gestoßen:

  1. Beim Eintragen des targets für ein Fahrzeug kommt es vor, dass ein gültiges target ermittelt wird, aber nicht beim Fahrzeug "ankommt". Eine spätere Abfrage ergibt target == nil.
  2. Bei den Ost-West-Fahrstraßen werden anscheinend mehrere gesperrt. Stehen sich zwei Linksabbieger gegenüber, wird die Fahrt nicht freigegeben, da auch die Fahrstraßen "geradeaus" und "rechts" gesperrt sind. Ich habe dies durch eine "Sonderprüfung" im Skript umgangen. Könnte aber auch daran liegen, dass ich bei den Fahrstraßen einen Fehler gemacht habe.

Sofern der erste Punkt nicht zum Tragen kommt, läuft es recht gut.

Kreuzung_nach_Neo.mbp

Play drücken reicht aus. Im Protokoll werden ein paar Prüf-Traces ausgegeben (target nicht vorhanden, Prüfung gegen einzelne Fahrstraßen). In den Zielen Nord und Süd sind die Geradeausziele doppelt enthalten, um so die Wahrscheinlichkeit hierfür zu erhöhen.

Grüße,
  Wolfgang

 

Geschrieben

Auch mal eine Frage an @Neo,

Das Problem mit den "vergessenen" targets habe ich auch in einer anderen Anlage. Ist hier schon eine Ursache bekannt ?

Grüße,
  Wolfgang

 

Geschrieben (bearbeitet)

 Mayday, Mayday, Mayday, ... 

Hallo @Goetz, Lua versteht mich nicht mehr! (oder ich verstehe Lua nicht mehr):$.

Ich möchte aus einer Liste mit 2 (Objekt-) Einträgen einen letztlich per Zufall auswählen und einem Fahrzeug als "vehicle.target" zuordnen.

target akzeptiert aber aus der Liste immer nur ein Objekt, warum? 

--[[ Ein zufälliges Ziel für das Fahrzeug wählen. Die möglichen Ziele
     sind im Kontakt als Variable gespeichert.
--]]
local Liste = contact.variables["Fahrziel"]
local Zahl = math.random(#Liste)

print("Objekt in Liste[1] =", Liste[1].name)
print("Objekt in Liste[2] =", Liste[2].name)

print("Test:")
vehicle.target = Liste[1]
print("Fahrzeug:" ,vehicle.name,"Ziel 1:", vehicle.target.name)

vehicle.target = Liste[2]
print("Fahrzeug:" ,vehicle.name,"Ziel 2 :", vehicle.target.name)


print("Auswahl nach Zufall:")
print("Objekt in Liste[1] =", Liste[1].name)
print("Objekt in Liste[2] =", Liste[2].name)
print ("Zufallszahl =", Zahl)
vehicle.target = Liste[Zahl]
print("Fahrzeug:" ,vehicle.name,"Ziel:", vehicle.target.name)

Fehlermeldungen im EP: 

1735009008_Screenshot2021-11-06102433.thumb.jpg.1e8748486ea6666e2217e92f9d12d082.jpg

1939669698_Screenshot2021-11-06102507.thumb.jpg.6db834a3f49d4769eb264cf9c66ad6d1.jpg 

831684500_Screenshot2021-11-06102540.thumb.jpg.10e8ccda9e54e17ed5892b4e8fbc9523.jpg

Obwohl beide Objekte in der Liste vorhanden sind, kann immer nur eins als "vehicle.target" ausgewählt werden,

Das verstehe ich nicht.

Viele Grüße,

Hawkeye

Bearbeitet von Hawkeye
Geschrieben
16 minutes ago, Hawkeye said:

 Mayday, Mayday, Mayday, ... 

I think that 'List[2]' is not the same as 'Liste[2]' (Line 11 of the code...)

Ich denke, dass 'List[2]' nicht dasselbe ist wie 'Liste[2]' (Zeile 11 des Codes ...)

 

Geschrieben

 

vor einer Stunde schrieb Hawkeye:

Obwohl beide Objekte in der Liste vorhanden sind, kann immer nur eins als "vehicle.target" ausgewählt werden,

Du kannst nicht im selben Zyklus ein Ziel zuweisen und gleich im Anschluss auslesen, Hawkeye.

Lua gibt nur den Befehl. Die Ausführung macht das Studio anschließend.
Lua wartet aber mit der nächsten Zeile nicht, bis das Studio den vorherigen Befehl ausgeführt hat.

Es liest einfach weiter den verfügbaren (unveränderten) Datensatz und gibt weiter Befehle aus.

Ich bin mir nicht sicher, aber ich vermute den Fehler an dieser Stelle.
Denn dein Fehler besagt ja, dass im Fahrzeug kein Ziel gefunden wurde. Dass du versuchst auf ein Objekt zuzugreifen, welches nicht existiert.

Viele Grüße
Götz

Geschrieben
vor einer Stunde schrieb Goetz:

Denn dein Fehler besagt ja, dass im Fahrzeug kein Ziel gefunden wurde.

Bingo! Götz, …, mal wieder. 😂

Ich versuche für die Fahrwege mit einer selbstgebauten Kreuzung (aus V6, also noch mit Weichenstellungen!) eine andere Abzweig Lösung zu finden. Wenn aber eine Weiche geschaltet hat, dann kann mit der neuen Anweisung „target“ aber auch immer nur EIN Ziel entsprechend der Stellung gefunden werden. Deshalb die Fehlermeldung!

Die Kreuzungen in V7 haben ja keine Weichenstellungen mehr, sondern nur noch Spuren. Da muß man auch erstmal drauf kommen.🙄

Viele Grüße,

Hawkeye

Geschrieben
vor 47 Minuten schrieb Hawkeye:

Die Kreuzungen in V7 haben ja keine Weichenstellungen mehr

und das ist ein Riesenfortschritt.
Denn Weichen eignen sich nicht gut um Straßenverkehr zu lenken. Schiene und Straße sind als System zu verschieden.

Mit den neuen Wegfindungs-Routinen klappt der Straßenverkehr viel besser.

Geschrieben (bearbeitet)
vor 18 Minuten schrieb Goetz:

Mit den neuen Wegfindungs-Routinen klappt der Straßenverkehr viel besser.

Schon, aber man muß aufpassen, wenn man alte Kreuzungs-Eigenbauten verwenden möchte! 
Und dann zuerst alle Weichenstellungen löschen. Sonst steht man da wie der Ochs vorn Berg.🤣

VG,

Hawkeye

Bearbeitet von Hawkeye
Geschrieben

Hallo,

vor 21 Stunden schrieb prinz:

Das Problem mit den "vergessenen" targets habe ich auch in einer anderen Anlage. Ist hier schon eine Ursache bekannt ?

dass ein Ziel verloren geht ist mir bisher nicht bekannt, es gilt allerdings zu beachten, dass ein Ziel nur dann im Fahrzeug gespeichert wird, wenn es auch eine gültige Route bis dort hin gibt. Soll heißen, wenn zum Zeitpunkt der Zielzuweisung keine Route gefunden werden kann, dann wird das Ziel gar nicht im Fahrzeug gespeichert. Auf diesen Umstand werde ich in der Lua-Doku noch etwas besser hinweisen.

Viele Grüße,

Neo

Geschrieben (bearbeitet)

Moin

Ich habe erste Verbesserungen im Fahrverhalten vorgenommen.
Leider gibt es noch einen kleinen unentdeckten Fehler im Code, irgendwann läufts nicht mehr.

343CF3F9-514B-43F3-BE2F-A113ED3A1464

Gruß
Thomas

Bearbeitet von HaNNoveraNer
Geschrieben (bearbeitet)

Hallo Thomas,
das muß nicht mal unbedingt ein Fehler sein. Schau mal, ob es z.B. eine Situation ist, wo etwas auf einen T1_CHECK fährt, der noch nicht verlassen ist.
(Du hast auch ein 'wird betreten' und 'wird verlassen' drin - das haben wir schon als zu gefährlich vermieden). Es ist einfach richtig biestig.

Gruß
  Andy

Bearbeitet von Andy
Geschrieben (bearbeitet)

Und nun mit Hauptstraße:

0F9957A8-8CED-4F17-8EAB-4DBBB17E1DA8

rechts vor links:

343CF3F9-514B-43F3-BE2F-A113ED3A1464

Wenn man jetzt noch die Freigabekontakte verdoppelt und auf die Kreuzung setzt und beim Verlassen
schon die Spur freigibt, sieht es noch besser aus. Aber dann müssen viele Definitionen neu gemacht werden :-)
 

Bearbeitet von HaNNoveraNer
Geschrieben

Hallo,

mal eine blöde Frage am Rande.

In V6 konnten eigene Abzweigungen erstellt werden. Dafür waren Spuren der Kategorie „Nur 3D-Modell“ vom Typ „Spline“ erforderlich.

Die neuen Kreuzungen in V7 haben aber nur noch Spuren, wie erstellt man den in V7 das Grundmodell für eine eigene Abzweigung/ Kreuzung?

Oder anders ausgedrückt, wie kann ein Grundmodell Abzweig/ Kreuzung aus dem Katalog V7 modifiziert werden?

Viele Grüße,

Hawkeye

 

 

Geschrieben (bearbeitet)

Hallo habe eine Frage 

Man man nicht bei Kreuzungen die neuen Bedingungen 

Neue EV-Bedingung "Fahrstraße ist frei und kann aktiviert werden"

Neue EV-Bedingung "Fahrzeug fährt in Richtung eines Gleises/Kontakts"

Nutzen zb (Fahrzeug fährt in Richtung eines Gleises/Kontakts" Fahrstraße ist frei und kann aktiviert werden" Fahstraße Anfordern)

 

 

 

Bearbeitet von aloys63
Geschrieben

Hallo,
machen wir mal einen praktischen Test, so wie das am Ende mal aussehen könnte.
Ich habe hierzu eine Version erstellt, ohne Schnickschnack, Content-ID: 3924F36F-35F6-4952-B042-2C9DAE554A45
Das ist jetzt eine einzige Gruppe.
Hierzu gibt es eine Testanlage (siehe unten). In der fehlen nun zwei Abzweigungen!
Das Vorgehen ist nun:

  1. Laden der Testanlage (importieren)
  2. Bearbeiten -> Einfügen aus -> Anlage. Die obige ID eintragen, dann wird die Abzweigung angezeigt. Danach ist die EV und eine Abzweigung als Gruppe vorhanden.
  3. Am besten nun diese Gruppe per Katalog -> 3D-Modelle -> Neu aus Selektion (Gruppe Abzwg HN) und speichern. Liegt nun in 'Meine Modelle' !
  4. Nun kann man die erste Gruppe an ihren Platz bringen, auflösen und die Kontakte justieren (alle etwas außerhalb von der Kreuzung ziehen, den Blauen ein ganzen Stück davor, das ist die Einfahrtserkennung.
  5. Die zweite Abzweigung holt man nun aus den eigenen Modellen. Man hätte auch die erste duplizieren können.
  6. Autos auf die Piste - außerhalb der Abzweigungen!!! (sind vorbereitet mit Objektvariable und Einstellung für automatisches Bremsen/Beschleunigen) und Geschwindigkeit einstellen.
  7. Start der Animation.

Jo, anders wird es in V7 kaum möglich sein. Okay - die Abzweigungs-EV wird wohl früher oder später noch besser.
Jedenfalls braucht diese modulare Abzweigung nur eine einzige EV und kann dann beliebig oft eingesetzt werden. Kontakte anpassen und fertig.

Gruß
  Andy

Abzwg-Testgelände.mbp

Geschrieben

Hallo @Hawkeye,

vor 4 Stunden schrieb Hawkeye:

Die neuen Kreuzungen in V7 haben aber nur noch Spuren, wie erstellt man den in V7 das Grundmodell für eine eigene Abzweigung/ Kreuzung?

Oder anders ausgedrückt, wie kann ein Grundmodell Abzweig/ Kreuzung aus dem Katalog V7 modifiziert werden?

Weichenstellungen sind in V7 für Straßen-Modelle nicht mehr vorgesehen. Die Abzweigungen werden nun über dynamische Zielvorgaben definiert, wobei als Zielpunkte auf den Straßen aufgelegte Gleiskontakte adressiert werden.

Die im Katalog angebotenen "fertigen" Kreuzungen und Abzweigungen sind 3D-Modelle mit statisch konfigurierter Geometrie. Diese können also in der Form nicht modifiziert werden. Um Kreuzungen mit eigener Geometrie zu bekommen, muss man also entweder selbst neue Kreuzungs-und Abzweigungs-Formen bauen, oder man verwendet das 1-spurige Straßenstück und baut damit wie bei den Gleisen mit dem 3D-Modelleditor eigene Kreuzungen und Abzweigungen. Man beachte aber, dass sich hierbei die weißen Straßenmarkierungen überlappen und teilweise verschwinden oder zu viel sichtbar sind. Jedenfalls werden auch bei den so erstellten Straßenkonfigurationen keine Weichenstellungen mehr spezifiziert.

Viele Grüße
BahnLand

Geschrieben

Hallo @BahnLand,

danke für die Erläuterung.
Das heißt, die äußere Geometrie einer „fertigen“ Kreuzung aus dem Katalog kann nicht verändert werden, nur die darin enthaltenen Spuren können beliebig nach eigenem Ermessen angepasst werden. Größe/ andere Radien sind also nur im Bereich der äußeren Geometrie möglich.


Eigene Kreationen können also weiterhin wie in V6 erstellt werden, aber dabei auf Weichenstellungen verzichten, bzw. bei alten vorhandenen Konstruktionen aus V6 vor dem Einsatz in V7 darauf achten, das vorhandene Weichenstellungen gelöscht werden! Sonst kann es für die Fahrzeuge Probleme bei der Zielvergabe geben.

Danke, damit kann man Arbeiten.

Viele Grüße,

Hawkeye

Geschrieben

Hallo @Hawkeye,

bei einem Spline-Objekt wie einem Gleisstück oder einem einfachen Straßenstück wird das Modell insgesamt durch eine Folge aneinandergereihter "Kettenglieder" gebildet, das dann mithilfe des 3D-Modelleditors entlang nahezu beliebiger Spurverläufe zurecht gebogen werden kann. Durch Kombination solcher Spurverläufe erhält man dann auch Kreuzungen oder Weichen. Allerdings steht für die Bildung solcher Spline-Modelle nur das 3D-Modell dieses Kettenglieds zur Verfügung, sodass alle Spuren, soweit sie sichtbar sind, alle dasselbe Aussehen haben.

Soll nun eine Kreuzung oder Abzweigung eine ganz bestimmte Struktur besitzen (z.B. speziell auf die Kreuzung oder die Abzweigung abgestimmte Straßenmarkierungen oder Straßenberandungen wie z.B. Bordsteine oder Leitplanken), lässt sich dies mit dem Kettenglied des Spline-Modells nicht mehr darstellen. In diesem Fall baut man das zu kreierende Objekt (z.B. die Kreuzung oder die Abzweigung) komplett als 3D-Modell. Das Modellbahn-Studio interpretiert dieses weiterhin als Kettenglied. Aber solange die angegebene Länge für das Objekt nicht ein Vielfaches des 3D-Modells beträgt, gibt es auch keine Aneinanderreihung des Modells. Konsequenterweise müssen nun alle Fahrspuren vom Typ "virtuell" sein, da sie sonst jeweils durch dieses 3D-Modell dargestellt würden.

So wie man auch bei Gleisen und Spline-Straßen (die Straßenstücke ohne Verzweigungen im Online-Katalog) nur den Spurverlauf, aber nicht das Kettenglied selbst modifizieren kann, lässt sich auch die aus einem Kettenglied bestehende komplette Kreuzung oder Abzweigung nicht modifizieren. Nur bei der Definition der (unsichtbaren) Spuren und von deren Verläufen hat man weterhin die Möglichkeit, sie im 3D-Modelleditor nach eigenem Ermessen zu modifizieren.

Auf die Straßenteile im Online-Katalog angewendet heißt dies zusammengefasst:
Die als Spline-Modelle angebotenen Straßenstücke, welche ausschließlich aus einer oder mehreren parallelen sichtbaren geraden Fahrspuren bestehen, lassen sich wie Gleise im 3D-Modelleditor beliebig konfigurieren mit der Einschränkung, dass das "Kettenglied" den kompletten Straßenquerschnitt über alle parallelen Fahrspuren hinweg darstellt. Die Straßenstücke lassen sich also immer nur "insgesamt" und nicht für jede Fahrspur einzeln "verbiegen". Bei den Straßenkreuzungen und -abzweigungen im Online-Katalog ist das komplette Objekt das 3D-Modell, also das Kettenglied. Es lässt sich daher mit dem 3D-Modelleditor nicht verformen. Unsichtbare Spurverläufe (Typ = Virtuell) lassen sich aber auf dem 3D-Modell weiterhin beliebig einrichten.

Viele Grüße
BahnLand

Geschrieben
Am 6.11.2021 um 15:15 schrieb Neo:

dass ein Ziel nur dann im Fahrzeug gespeichert wird, wenn es auch eine gültige Route bis dort hin gibt.

Hallo Neo,

das ist soweit klar. In folgender Testanlage werden regelmäßig Fahrzeuge gestartet. Sie bekommen immer die Gegenseite als Ziel zugewiesen. Die beim Start weißen Kontrollleuchten zeigen an, dass das Fahrzeug ein target hat. Wird die Kontrollleuchte rot, hat das Fahrzeug kein Target. Die beim Start grünen Leuchten gehören zu den Bremskontakten. Hier bedeutet: Grün=Bremskontakt offen, Rot=Bremskontakt geschlossen. Bei der Abzweigung 2+1 musste ich Weichenstellungen definieren, da ansonsten Fahrzeuge ohne Ziel dort abbiegen und es zum Chaos kommt. Derzeit sind die Geradeausspuren aktiv.

Du wirst sehen, dass manche Fahrzeuge das Ziel annehmen, andere nicht. Ich meine, da muss noch was im Argen liegen.

Test-Fahrziel.mbp

Viele Grüße
  Wolfgang

 

 

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