From 61157f8470367e3f120f757ee01d15965a44f18a Mon Sep 17 00:00:00 2001 From: Michael Krisper <michael.krisper@tugraz.at> Date: Thu, 21 Jul 2022 11:32:37 +0200 Subject: [PATCH] VECTO-1615 and VECTO-1616: Braking ended in vehiclespeed being slightly below TargetSpeed. Added Tolerance of 0.1 km/h --- VectoCore/VectoCore/Configuration/Constants.cs | 5 +++++ .../Models/SimulationComponent/Impl/DefaultDriverStrategy.cs | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/VectoCore/VectoCore/Configuration/Constants.cs b/VectoCore/VectoCore/Configuration/Constants.cs index 4c781ca505..6e0c17a2a4 100644 --- a/VectoCore/VectoCore/Configuration/Constants.cs +++ b/VectoCore/VectoCore/Configuration/Constants.cs @@ -273,6 +273,11 @@ namespace TUGraz.VectoCore.Configuration public static readonly Meter BrakeNextTargetDistance = 2.5.SI<Meter>(); + /// <summary> + /// used in DriverModeBrake to detect if a vehicle is already below the speed of the brake trigger. + /// </summary> + public static readonly MeterPerSecond BrakeTriggerSpeedTolerance = 0.1.KMPHtoMeterPerSecond(); + public static readonly MeterPerSecond MinVelocityForCoast = 5.KMPHtoMeterPerSecond(); /// <summary> diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs index db1c599c42..c2c71ef3ce 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs @@ -1147,7 +1147,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl Second absTime, Meter ds, MeterPerSecond targetVelocity, Radian gradient, bool prohibitOverspeed = false) { - if (DataBus.VehicleInfo.VehicleSpeed.IsSmallerOrEqual(DriverStrategy.BrakeTrigger.NextTargetSpeed) && !DataBus.VehicleInfo.VehicleStopped) { + if (DataBus.VehicleInfo.VehicleSpeed.IsSmaller(DriverStrategy.BrakeTrigger.NextTargetSpeed, Constants.SimulationSettings.BrakeTriggerSpeedTolerance) + && !DataBus.VehicleInfo.VehicleStopped) { var retVal = HandleTargetspeedReached(absTime, ds, targetVelocity, gradient); for (var i = 0; i < 3 && retVal == null; i++) { retVal = HandleTargetspeedReached(absTime, ds, targetVelocity, gradient); -- GitLab