Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

core: etcs: for LOAs, compute EBD foot and EBD curve more accurately #10430

Open
Tracked by #9702
Erashin opened this issue Jan 17, 2025 · 0 comments
Open
Tracked by #9702

core: etcs: for LOAs, compute EBD foot and EBD curve more accurately #10430

Erashin opened this issue Jan 17, 2025 · 0 comments

Comments

@Erashin
Copy link
Contributor

Erashin commented Jan 17, 2025

In ETCSBrakingCurves.compûteBrakingCurves, in the case of an EBD with a non null target speed, we are doing a couple of approximations:

  • once we intersect with targetSpeed + dvEbi, we just shift the envelope to the right.
  • if the LOA is close to the start of the path, the EBD could just reach the start of the path before reaching targetSpeed + dvEbi: in this case we don't shift it, which is another approximation

This creates a few small problems:

  • we're not using the correct gradients for the calculation (by an offset of around ~50m most of the time, since dvEbiMax = 7.5km/h, it's not really high) -> not the biggest problem, since the offset tends to be small, but still not the best.
  • if the EBD hits the start of the path, and we shift it, the curve won't start at position = 0.0. Potentially (almost never), that'll mean that the indication curve could start after 0.0. -> in this case, we'll use const gamme to brake from 0.0 till EBD curve, and we won't even see it in the MSP, because we'll skip this entire part with the time it takes for the train to accelerate and reach the MSP. This changes, however, if we make the train start with a beginSpeed (which we almost never do)..

We should really compute the correct curve, i.e., start from the point (LOAPosition, LOASpeed + dvEbi), decelerate to the left until MRSP or position = 0.0, then decelerate to the right until the point where we reache LOASpeed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant