Jump to content

Wegfindung für Straßenbahnlinien


Empfohlene Beiträge

Hallo zusammen,

angeregt durch @Klartexter habe ich eine kleine Versuchsanlage für den Umgang mit Straßenbahnlinien gebaut:

Content-ID: B96A6701-32F1-4F2B-83BE-7CEA97A7BDEA

1533259405_vierTramsvierRouten.thumb.jpg.2d3f148a98202163e8ad3df47094527e.jpg

Das markante an diesem Versuch ist, dass sämtliche Kreuzungen ohne Weichen gebaut wurden.
Die Trams müssen Ziele haben um ihren Weg zu finden, weil keine Weiche sie lenkt.

Sieht man von den ungesicherten Kreuzungen ab, die gelegentlich zu Unfällen führen, läuft die Geschichte richtig gut.

Viele Grüße
Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Goetz,

da hast Du wieder mal eine richtig gute Idee gehabt. Nur eine Frage: Du hast bei den Ereignissen in Klammern importiert stehen, aber ich bin noch nicht dahinter gestiegen, wie man im MBS eine Liste importieren kann. Ich werde Deine Anregung auf jeden Fall mal in eine Anlage umsetzen, im Moment steht aber erst die Fertigstellung der Straßenbahnmodelle an. Vielen Dank für die Tipps und die Anregung durch die Testanlage.

Walter

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 21 Minuten schrieb Klartexter:

Du hast bei den Ereignissen in Klammern importiert stehen, aber ich bin noch nicht dahinter gestiegen, wie man im MBS eine Liste importieren kann.

Bei mir steht da nicht importiert.
Aber bei dir. Weil du meine Anlage (samt EV) in deine Anlage importiert hast.

Nun weißt du mit dem Warum auch das Wie   ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz,

ich baue zwar keine Anlagen aber ich bin neugierig. Bei dem Versuch nachzuvollziehen was Du gemacht hast entstehen bei mir nur ????.
 

Zitat

Die Listen wurden direkt bei den Fahrzeugen eingegeben. Die Variable "Linien" dient nur als Backup.

erstes ?

Wie hast Du den Fahrzeugen beigebracht, daß sich die Ziele aus diesen Listen ergeben? (zweites ?)

Gruß
EASY

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Easy, hallo Brummi,

vor 51 Minuten schrieb EASY:

erstes ?  [wie gebe ich eine Route direkt im Fahrzeug ein?]

Ich wähle in der Fahrzeugeigenschaft den Zielpunkt und klicke dann der Reihe nach die Wegpunkte (Kontakte) für diese Linie an. Mit jedem weiteren Punkt, den ich anklicke, benötigt das Studio mehr Zeit für die Wegprüfung. Bei den letzten drei oder vier Punkten jeweils mehrere Sekunden. Die muss man geduldig abwarten.

 

vor 51 Minuten schrieb EASY:

zweites ? [wie übertrage ich eine Liste von Zielpunkten an ein Fahrzeug]

1768675548_ListealsZielbergeben.jpg.7f7e8f79c83683f92a52e7291aeee28c.jpg

Das Studio ist, dank @Neos Cleverness, in der Lage selbständig zu unterscheiden, ob als Ziel ein einzelnes Objekt oder eine Liste von Objekten übergeben wurde.  

Die gezeigte Routine gibt es in der fertigen Anlage nicht mehr. Nach Benutzung hatte ich sie entfernt. Das ist ja bislang nur eine Testreihe.

Ich habe für heute vor, eine andere Taktik auszuprobieren. Ich werde an jedem Wegpunkt hinterlegen, welcher der nächste Punkt für die jeweiligen Linien ist. Und dann Haltestelle für Haltestelle den nächsten Wegpunkt übergeben. Denn die Prüfung einer ganzen Liste dauert auch dann lange, wenn man sie wie im zweiten Beispiel komplett übergibt. Man kann mit der Methode nicht zwischendurch die Tour ändern (um z.B. einen Zug ins Depot zu schicken), weil dann die ganze Anlage für mehrere Sekunden einfriert.

Das praktische dabei: Ich kann meine Listen nutzen, um automatisch alle Wegpunkte mit den benötigten Informationen zu bestücken.
 

Ich erstelle diese Listen übrigens, indem ich alle Wegpunkte der Reihe nach mit gedrückter Strg-Taste markiere und dann diese Auswahl mit Strg+C in die Zwischenablage übernehme. In der EV drücke ich dann bei "Bearbeiten" einer Liste nur noch auf "Einfügen", um die Liste zu speichern. Die Reihenfolge der Auswahl wird dabei perfekt eingehalten. Alternativ kann man auch eine Fahrtstraße über alle Wegpunkte (jeden anklicken!) erstellen und dann die Liste der Wegpunkte aus dieser Fahrstraße auslesen. Dann sieht man beim Erstellen der Route den Verlauf als farbige Linie. 

Viele Grüße
Götz

 

Bearbeitet von Goetz
Ergänzungen
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Minute schrieb Roter Brummer:

... und dann noch einen Wegpunkt ohne Halt anfährt, der sie wieder zur ersten Haltestelle zurück bringt?

Ja, so habe ich es stellenweise auch gemacht. Manchmal ist der letzte Punkt einer der grünen Kontakte.

Aber Fahrzeuge versuchen immer am Ende einer Runde an den Punkt zurückzukehren, an dem sie ihre Route erhalten haben. Wenn ich im Depot die Liste für eine Linie übergebe, dann fährt die Tram am Ende der Runde zurück ins Depot, obwohl dieses gar nicht in der Runde vorkommt. Die Tram soll ja im Idealfall mehrere Runden fahren, bevor sie Feierabend macht. Ich erziele daher nur dann ein sauberes Ergebnis, wenn ich die Tram zum letzten Wegpunkt der Liste fahre und erst dort die Route eintrage. Deshalb kann ich im Depot keine Linien zuweisen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb Roter Brummer:

Es müsste doch auch so gehen, dass eine Tram alle Haltestellen ihrer Linie als Wegpunkte hat und dann noch einen Wegpunkt ohne Halt anfährt, der sie wieder zur ersten Haltestelle zurück bringt?

HG
Brummi

Im realen Leben sind Straßenbahnlinien in der Regel Durchmesserlinien, welche die selbe Strecke auch wieder zurück fahren, welche sie bei der Hinfahrt genommen haben. Rundlinien wie die (frühere) in Naumburg fahren praktisch im Kreis, da ist man dann nach der letzten Haltestelle wieder beim Startpunkt. In Naumburg hat man zwar die Straßenbahn wieder nach ein paar Jahren in Betrieb genommen, aber zwischen Salztor und Hauptbahnhof gibt es keine Gleise mehr. Es gibt aber bemühnungen, die Lücke wieder zu schließen. Im MBS würde so eine Leerfahrt sicher kein Problem darstellen, im realen Leben bräuchte es zumindest eine Betriebsstrecke für so eine Fahrt.

Auch wenn es im realen Leben nicht so kunterbunt bei den Linien zugeht wie auf der Demoanlage von @Goetz, so hat sie zumindest mir doch wesentliche Erkenntnisse vermittelt. Ich werde dieser Tage mal testen, wie sich die Streckenvorgabe mit dem Lua-Script für Haltestellen verträgt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb Klartexter:

Im realen Leben sind Straßenbahnlinien in der Regel Durchmesserlinien, welche die selbe Strecke auch wieder zurück fahren, welche sie bei der Hinfahrt genommen haben.

Wenn an beiden Streckenenden einer zweigleisigen Strecke Kehrschleifen sind, ist es aber dann eigentlich doch wieder ein Rundkurs. So auch in der Beispielanlage von @Goetz.

HG
Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Unter dem Namen "Sechs Trams sechs Routen" habe ich jetzt eine weitere Version veröffentlicht.

Content-ID: F0AC00B4-2C16-4539-83D9-75B79B5EE83F

1865941069_sechsTramssechsRouten.thumb.jpg.6dcc857cee958e86bb00d17b201f9cfe.jpg

In dieser Version hat jeder Haltepunkt eine Liste von Zielen, je eins für jede Linie, die diesen Haltepunkt anfährt.
Die grünen Hilfskontakte konnten entfallen.

Außerdem habe ich den kleinen Betriebshof am unteren Rand mit einbezogen. 

Mit dem grünen Taster kann die automatische Ausfahrt aus dem Betriebshof ein- und ausgeschaltet werden.

Da es keine Verkehrsregelung gibt, sind Unfälle auch in diesem Szenario unvermeidlich.

Ich will mit dem Beispiel nur konzeptionelle Dinge vorstellen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz,

ich habe mir das mal auf die Schnelle angeschaut, die Linie 3 dreht hier nur eine kurze Runde am unteren linken Quadrat, dann rückt sie wieder ins Depot ein. Dort startet sie zwar nach einiger Zeit wieder, aber eben nur mit besagter Runde. Da Du ja auch anderweitig die Linie anzeigst vermute ich mal einen Fehler. Nebenbei: Die Stuttgarter Bahnen sind unverwüstlich und sehr gelenkig habe ich an Kreuzungen festgestellt. :D

Schönen Abend noch wünscht

Walter

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 54 Minuten schrieb Klartexter:

die Linie 3 dreht hier nur eine kurze Runde am unteren linken Quadrat

Vielen Dank für den Hinweis! 
Das hatte ich völlig übersehen.

Nachtrag: Ich habe den Fehler behoben.
Von einem Probelauf lief noch eine Verzögerung, die vorzeitig die Linie 3 zurück zum Betriebshof beordert hat.

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz und alle Straßenbahn-Enthusiasten,

die Idee, die Straßenbahnen auf den einzelnen Linien nicht über Fahrstraßen, sondern über Zielvorgaben zu steuern, finde ich grandios. Denn damit lassen sich Szenen wie in den nachfolgend verlinkten Bildern gezeigt Vorbild-getreu nachbilden. Die Bilder zeigen die Königstraße in Stuttgart, welche bis in die 1960er/1970er Jahre hinein eine der Hauptschlagadern der Stuttgarter Straßenbahn war.

https://imgl.aklex.de/19/15d0b4896a797b.jpg
https://imgl.aklex.de/21/6605f012b41139.jpg
https://img.oldthing.net/8867/24624688/0/n/AK-Ansichtskarte-Strassenbahn-Stuttgart-Koenigstrasse-Koenigsbau-Kat-Strassenbahn.jpg

Mit der hier gezeigten Methode lassen sich insbesondere auch Straßenbahn-und Auto-Fahrspuren problemlos zusammenführen und auch wieder trennen, ohne dass es hierfür komplexer Weichenkonstruktionen bedarf. Es genügt, die einzelnen Fahrzeuge zu klassifizieren, um sie an den Verzweigungspunkten mit unterschiedlichen Zielvorgaben voneinander zu trennen.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen

Die Anlage "Sechs Trams sechs Routen" in der Kategorie "Tutorials" hat jetzt für jeden Weg eine Fahrstraße bekommen.
So lassen sich die einzelnen Wege sehr bequem einrichten.

1614254549_sechsTramssechsFS.thumb.jpg.cc217dfd2ceb5a8499163d031c384277.jpg

Damit fallen die alten Listen mit Zielpunkten weg.
Stattdessen lese ich die Wegpunkte der Fahrstraßen aus, um die einzelnen Kontakte mit den Zielen für die verschiedenen Linien auszustatten:

local fs = $("Ereignisse").variables["Fahrstrassen"]

for Linie, Fahrstrasse in pairs(fs) do
  local l = Fahrstrasse.waypoints
  for i, Kontakt in ipairs(l) do
    Kontakt.variables.Ziele = Kontakt.variables.Ziele or {}
    local next = l[i % #l + 1]
    if Kontakt == $("Depot Einfahrt") then
      return
    else
      Kontakt.variables.Ziele[Linie] = next
    end
  end
end

Die Fahrstraßen werden also nie aktiviert. Sie dienen mir nur als Hilfsmittel.

Da mir diese Anlage viel besser gefällt als mein erster Versuch, werde ich die Anlage "Vier Trams vier Routen" wieder zurückziehen.

Viele Grüße
Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz,

wo liegt ein wesentlicher Unterschied zwischen den Listen und den Fahrstraßen? Mir ist schon klar, dass die Erstellung einer Liste länger braucht und wohl auch etwas mühsamer ist, aber im Prinzip macht doch das MBS genau das gleiche bei beiden Versionen. Nur kann man leider nicht den Vorteil der Fahrstraße nutzen, der Kollisionen vermeidet. Vor allem darf man in keinem Fall versehentlich eine Fahrstraße aktivieren, dann steht alles still, wie ich vorhin feststellen durfte. Da wollte ich nur die Farbe der Fahrstraße ändern und bin statt auf den Bleistift auf den Pfeil gekommen.

Aber generell gesehen ist Deine Idee genial, weil man auf recht einfache Weise mehrere Strecken planen kann. An sich dürfte das ja nicht nur bei Straßenbahnen möglich sein, das müsste doch auch bei Zügen gehen. Oder gibt es da dann Probleme mit Signalen? Auf jeden Fall herzlichen Dank für Deine Kreativität, ich werde mal schauen, wie ich das für eine eigene Anlage verwerten kann.

Einen schönen Tag wünscht

Walter

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 8 Minuten schrieb Klartexter:

wo liegt ein wesentlicher Unterschied zwischen den Listen und den Fahrstraßen?

Den siehst du im Screenshot, Walter

Wenn ich eine Fahrstraße einrichte, dann bekomme ich den ganzen Weg als farbige Linie angezeigt.
Wenn ich stattdessen Kontakte der Reihe nach auswähle, um sie dann per Strg + C / Strg + V in eine Liste zu übertragen, dann sehe ich diese Spur nicht.

Viele Grüße
Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz,

Hallo @Klartexter,

in dieser Anlage: ID: 172115C3-5592-48F6-8BB3-AE14A61A04DC Als Entwurfsanlage

Habe ich für Faller einen Ansatz zur Vorfahrt eingebaut, ist zwar keine Straßenbahn, aber funktioniert schon mit kleinen Einschränkungen. Habe Gleiskontakte gesetzt und Bremskontakte damit gesteuert. Bei 50 km/h und den gewählten Werten für Brems- und Beschleunigungsfunktion sieht es ganz gut aus.
Vielleicht ist das eine Idee, die man noch mit Schlagworten optimieren kann für ähnliche Einfahrten oder Kreuzungssituationen.

Schöne Grüße

Lothar 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Norbert,

ja, das ist richtig. Die Anlage ist ein Nachbau meiner AMS Stadtbahn. Auf das MBS bin ich gestoßen, weil ich eine Planungssoftware für die linke Erweiterung gesucht habe. Es ist alles sehr Faller lastig aus den 60er/70er Jahren. Deshalb sind auch noch Weichen eingesetzt und keine Fahrstraßen bei der Autobahn. Die linke Industrie Erweiterung wird momentan nur manuell befahren. Es sind ein paar Besonderheiten Programmiert. Neben der Ampelsteuerung, die ich mit Hilfe von @Goetz von verkehrsabhängiger Steuerung auf einen einfachen Zeitablauf umgestellt habe, schalten die meisten Weichen beim Verlassen durch ein Fahrzeug um. Dadurch biegt praktisch jedes zweite Fahrzeug ab und es entsteht eine hohe Zufallsdynamik. Auf die kurze Gerade neben dem Hochhaus passen vor die Kreuzung bei Rot nur 3 Fahrzeuge, ab dem 4. geht es gerade aus. Hier kommt mein Zähler ab und zu durcheinander, habe aber den Grund noch nicht gefunden. Dann sind noch Vorfahrtsregelungen eingebaut. Da habe ich ziemlich lange optimiert mit Verzögerung und Beschleunigung und den daraus besten Abständen der Gleiskontakte. 
Die Züge sind noch nicht alle programmtechnisch erfasst. Als Beispiel können der Autozug und der Containerzug mit Fahrstraßen nach oben bewegt werden. Am Ende der jeweiligen Fahrstraße setzen die Loks automatisch um für die Rückfahrt. Wenn der Autozug leer ist, zuerst zum Beladen fahren, dort ist der Ablauf bis an die Rampe programmiert. Dann git es einen Taster in Rot, der Die Fahrzeuge auf den Zug umleitet. Den wieder Ausschalten, wenn keine Autos mehr auf den Zug sollen. Der Abstand der Autos zwischen 2 Waggons muss noch von Hand reguliert werden. Danach zurück in den Schattenbahnhof und dann hoch zum Abladen. Auch hier werden die Autotransporter automatisch an die Rampe gefahren. Der Rest geht nur manuell. Beim Containerzug kann auch , wenn er oben angekommen ist, manuell Container mit dem Kran auf den LKW geladen werden, loder von diesem zurück auf den Zug. Das Abholen der Container aus den Faller Rampen geht auch nur manuell.

Viel Spaß beim weiter stöbern wünscht

Lothar  

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es hat mich jetzt doch gewurmt, dass die Gleise einen zu geringen Parallelabstand hatten.

Deshalb habe ich Straßen zu Hilfe genommen, um die richtigen Abstände zu erzielen.
Mit "Pfad folgen" kann man diese Spielereien super gut machen.

572359331_sechsTramsaufStrassen.thumb.jpg.d9e7c9c48cb13fad9a1840b8057fec71.jpg

F0AC00B4-2C16-4539-83D9-75B79B5EE83F

Technisch hat sich weiter nichts getan. Die Ampeln sind aktuell ohne Funktion.

Viele Grüße
Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Goetz:

Technisch hat sich weiter nichts getan.

Doch, etwas hast Du verändert, @Goetz, die Ausrückzeit aus dem Betriebshof hat sich von 50 auf 60 Sekunden erhöht. B| Aber ich finde es gut, dass Du die Gleise angepasst hast, das Brett musste da zwar größer werden, aber die Demo wird dadurch realistischer. Ich habe da mal meinen GT6 fahren lassen, aber der hintere Teil "schwanzelt" in den Kurven. Liegt vermutlich daran, dass der ja nicht in der Liste aufgeführt ist.

Eine Funktion habe ich allerdings noch nicht so richtig verstanden:

7.thumb.jpg.799bb5c2c1c73248e0c6b4bc7bf82163.jpg

Was ist der Grund für die Verzögerung der Ausführung von fünf Minuten? Die Bahnen stoppen ja nur kurz, aber doch nirgends 5 Minuten. Vermutlich ist da aber etwas anderes der Grund, ich bin nur nicht drauf gekommen. Schönen Abend noch.

Walter

Link zu diesem Kommentar
Auf anderen Seiten teilen

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