diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs index c2c71ef3ce22a0e997f54df23f5d2624d6f538f6..a4e3d8fe2b9a577c4a35e754dd0c697d1fc4126b 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs @@ -1381,6 +1381,15 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl Log.Debug("Switching to BRAKE Phase. currentDistance: {0}", currentDistance); } else { if ((currentDistance + ds).IsGreater(DriverStrategy.BrakeTrigger.BrakingStartDistance)) { + var remainingDistance = DriverStrategy.BrakeTrigger.TriggerDistance - + DriverStrategy.BrakeTrigger.BrakingStartDistance; + var remainingTime = remainingDistance / DataBus.VehicleInfo.VehicleSpeed; + var brakingIntervalTooShort = remainingTime.IsSmaller( + Constants.SimulationSettings.LowerBoundTimeInterval / 2); + if (brakingIntervalTooShort) { + Phase = BrakingPhase.Brake; + return null; + } return new ResponseDrivingCycleDistanceExceeded(this) { MaxDistance = DriverStrategy.BrakeTrigger.BrakingStartDistance - currentDistance };