Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fahrzeitberechnung mit Beschleunigung und Bremsen (https://www.delphipraxis.net/160890-fahrzeitberechnung-mit-beschleunigung-und-bremsen.html)

t0by 6. Jun 2011 15:58


Fahrzeitberechnung mit Beschleunigung und Bremsen
 
Hallo zusammen,

ich bin gerade dabei eine Berechnung aufzustellen die mir CIRCA sagt wielange, zum Beispiel ein Zug, um von A nach B zu kommen unter der Berücksichtung von Haltestellenaufenthalten.


Was NICHT implementiert ist, sind die Aspekte der Beschleunigungs- & Bremsvorgänge. (Hat dazu vielleicht jemand eine Idee das recht einfach umzusetzen?)


Folgendes ist bis dato bei rumgekommen:


Delphi-Quellcode:
{
  Berechnet die Fahrtzeit anhand der angebenen Parameter:

  Parameter

  v = ivMax          Maximal Geschwindigkeit  in km/h
  k = iDistance      Entfernung               in Kilometer
  n = iStationCount  Anzahl der Haltestellen


  Konstante

  x = CONST          Haltestellen Distanzparameter (Brems- & Beschleunigungsvorgang)
  y = CONST          Haltestellen Geschwindigkeitsvektor

  Formel:
  ((x*n)/y) + (k-(x*n))/v
}
function calculateTravelTime(ivMax, iDistance, iStationCount: Integer): Extended;
const
  STATION_SPEED    : Integer = 35;
  STATION_DISTANCE : Integer = 3;

var
  iStationDistance,
  iTotalDistance: Integer;
  fStationTime,
  fDistanceTime: Extended;
begin
  iStationDistance := (STATION_DISTANCE*iStationCount);
  iTotalDistance   := iDistance - iStationDistance;
  fStationTime     := iStationDistance / STATION_SPEED;
  fDistanceTime    := iTotalDistance / ivMax;
  Result := fStationTime + fDistanceTime;
end;
Das mit der o.g. Beschleunigung wäre Interessant, da hier bei den Werten (ivMax=280) und (STATION_SPEED=35) abprupt auf 35 km/h runtergeankert wird.

Mir ist natürlich auch klar, das nicht permanent mit 280 km/h über die Gleise geheizt wird. Diverse Streckenabschnitte werden später aber noch in die Berechnung eingefügt.


Wie stelle ich die Beschleunigungswerte und Bremsleistung am besten dar?

Motorleistung, Gewicht usw. spielen hier ja eine Rolle genau wie Gewicht und Bremsleistung pro Kilo o. Tonne?

Mit freundlichen Grüßen

Toby

sirius 6. Jun 2011 16:54

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen
 
http://books.google.de/books?id=sptJ...remsen&f=false
(Seite 42)
gleich mit ein paar Werten für die Beschleunigung. (allerdings steht in diesen Fällen der Zug im Bahnhof.

t0by 6. Jun 2011 17:05

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen
 
Danke, das hilft mir auf jedenfall schonmal weiter!

jfheins 6. Jun 2011 17:10

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen
 
Also ich hab das mal kurz durchgerechnet:
Mit einer Maximalgeschwindigkeit von v und einer Anfahrbeschleunigung von a1 und einer Bremsbeschleunigung von a2 und einer Zeit, die in der Station verbracht wird t_station ergibt sich die Gesamtreisezeit zwischen 2 Stationen mit der Distanz d wie folgt:

t_gesamt = v/(2*a1) + v/(2*a2) + d/v + t_station

mit a1,a2,v,d > 0
Vorraussetzung ist allerdings, dass der Zug seine Maximalgeschwindigkeit auch erreicht.

t0by 6. Jun 2011 17:13

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen
 
Eben Das ist ja nicht der Fall. Da zum Beispiel diverse Streckenabschnitte auf 120, 80 oder gar 60 km/h limitiert sind.

p80286 6. Jun 2011 17:28

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen
 
dann ersetzt man v durch die Streckenhöchstgeschwindigkeit und gut ist.

Gruß
K-H

t0by 6. Jun 2011 20:03

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo nochmal,

irgendwie hab ich den Eindruck das da was nicht passt.


Bei den Triebfahrzeugen ist nur eine Differenz von 2 Minuten!?

jfheins 6. Jun 2011 22:27

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen
 
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 ;)

t0by 8. Jun 2011 09:41

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen
 
Liste der Anhänge anzeigen (Anzahl: 1)
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. :D

freak4fun 8. Jun 2011 09:52

AW: Fahrzeitberechnung mit Beschleunigung und Bremsen
 
Hast du das dem Zug mitgeteilt?

Das bedeutet, das er auf der Strecke von 800 Metern von 40km/h auf 0km/h abbremsen soll. :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 Uhr.
Seite 1 von 2  1 2      

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