AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Fahrzeitberechnung mit Beschleunigung und Bremsen
Thema durchsuchen
Ansicht
Themen-Optionen

Fahrzeitberechnung mit Beschleunigung und Bremsen

Ein Thema von t0by · begonnen am 6. Jun 2011 · letzter Beitrag vom 8. Jun 2011
Antwort Antwort
t0by

Registriert seit: 31. Mai 2011
7 Beiträge
 
#1

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen

  Alt 6. Jun 2011, 20:03
Hallo nochmal,

irgendwie hab ich den Eindruck das da was nicht passt.


Bei den Triebfahrzeugen ist nur eine Differenz von 2 Minuten!?
Angehängte Dateien
Dateityp: rar Sample Simulation.rar (542,9 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen

  Alt 6. Jun 2011, 22:27
Das Problem sind die Bedingungen der Formel: Es wird eine Höchstgeschwindigkeit erreicht. das ist auf mindestens 2 Etappen nicht der Fall.
Falls
Code:
v = sqrt(2*d/(1/a1+1/a2)) < v_max
zutrifft, dann kann der Zug nicht seine Höchstgeschwindigkeit (oder die der Strecke) erreichen, weil wer vorher schon wieder abbremsen muss.

In diesem Fall ist eine etwas komplexere Formel nötig:
Code:
t = sqrt(2*d) * (sqrt(1/(1+a2/a1)) + sqrt(1/(1+a1/a2))) + t_station
Kann man sich auch einfach herleiten, wenn man ein v-t-Diagramm aufzeichnet. Die Fläche unter der Linie entspricht der gefahrenen Strecke, die Steigung entspricht der Beschleunigung und ein bisschen Geometrie und so liefert einem die Gleichungen
  Mit Zitat antworten Zitat
t0by

Registriert seit: 31. Mai 2011
7 Beiträge
 
#3

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen

  Alt 8. Jun 2011, 09:41
So ich melde mich mal wieder...

Habs mal visualisiert, wie der Zug beschleunigt und bremst.

Die Formeln leiten sich durch die Werte für das jeweilge TfZ ab.

Jedoch passt wohl die Berechnung des Bremsweges nicht, da hier entweder zu früh oder eben zu spät gebremst wird.

Wo genau der Fehler ist, weiß ich nicht... hat da jemand vielleicht einen Tipp?

Eigentlich sollte der Zug so ca. 800 Meter vor dem Anbremspunkt auf 0 auf 40 km/h bremsen und dann sanft in die Haltestelle reingleiten. Macht er aber nicht.


PS: jfheins, das mit der visualisierung war eine Teufelsidee... nun soll ja auch alles seine Richtigkeit haben.
Angehängte Dateien
Dateityp: rar Sample Simulation.rar (587,7 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen

  Alt 8. Jun 2011, 09:52
Hast du das dem Zug mitgeteilt?

Das bedeutet, das er auf der Strecke von 800 Metern von 40km/h auf 0km/h abbremsen soll.
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
t0by

Registriert seit: 31. Mai 2011
7 Beiträge
 
#5

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen

  Alt 8. Jun 2011, 10:06
if bIsBraking or ((fNextStationDistance > 0.09) and (fCurrentTrackMark > 0.8) and (fNextStationDistance < (fBrakeDistance+0.8)/1000)) then begin Hatte es so probiert, aber hat nicht gefruchtet.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen

  Alt 8. Jun 2011, 11:32
PS: jfheins, das mit der visualisierung war eine Teufelsidee... nun soll ja auch alles seine Richtigkeit haben.
ich meinte das eigentlich im Sinne von "Stift und Papier" aber so ist auch OK

Wenn du mit 2 verschiedenen Beschleunigungen bremst, ist das ganze nochmal komplizierter, aber immer noch machbar. Probleme gibts nur, wenn sich die Maximalgeschwindigkeit (die ja auch von der Strecke kommen kann) während der fahrt ändert.

In diesem Fall hätte ich noch eine tolle Idee: vergiss den analytischen Ansatz und mach das numerisch Also zu jedem Zeitpunkt x, v und a (Ort, Geschw. & Beschl.) berechnen und durch Grenzen dieser Variablen (z.B.: -3 < a < 5 oder 0 <= v <= v_max) das Verhalten des Zugs beeinflussen.
das einzig analytische ist dann eben noch der Bremspunkt: Du errechnest aus der aktuellen Geschwindigkeit den Bremsweg und vergleichst den mit der Distanz zur nächsten Haltestelle (ggf. mal einen Sicherheitsfaktor). Wenn der Bremsweg größer ist als die Distanz, dann wird die Bremsung eingeleitet.

Das "Problem" dabei ist, dass sich die Haltestellen nur schlecht modellieren lassen. Ein Ansatz wäre z.B. ein sehr kurzer Streckenabschnitt, mit sehr geringer erlaubter Geschwindigkeit. Die Länge wird genau so gewählt, dass die Zeit zum durchfahren der Strecke gleich der Haltezeit ist.

Mit dem numerischen Ansatz sind dann auch dynamische Änderungen der Streckenhöchstgeschwindigkeit kein Problem
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz