From a7aef1c9483a5ea022d4db7a648d6da77701d798 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 27 Jun 2016 13:58:33 +0200 Subject: [PATCH] fix: update braking distance for current brakeTrigger --- .../SimulationComponent/Impl/DefaultDriverStrategy.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs index d81b556d56..c37df9ba81 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs @@ -631,15 +631,18 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var currentDistance = DataBus.Distance; if (Phase == BrakingPhase.Coast) { + var brakingDistance = Driver.ComputeDecelerationDistance(DriverStrategy.BrakeTrigger.NextTargetSpeed) + + DefaultDriverStrategy.BrakingSafetyMargin; + DriverStrategy.BrakeTrigger.BrakingStartDistance = DriverStrategy.BrakeTrigger.TriggerDistance - brakingDistance; + var nextBrakeAction = DriverStrategy.GetNextDrivingAction(DataBus.Distance, ds); if (nextBrakeAction != null && !DriverStrategy.BrakeTrigger.TriggerDistance.IsEqual(nextBrakeAction.TriggerDistance) && nextBrakeAction.BrakingStartDistance.IsSmaller( DriverStrategy.BrakeTrigger.BrakingStartDistance)) { DriverStrategy.BrakeTrigger = nextBrakeAction; + Log.Debug("setting brake trigger to new trigger: trigger distance: {0}, start braking @ {1}", nextBrakeAction.TriggerDistance, nextBrakeAction.BrakingStartDistance); } - var brakingDistance = Driver.ComputeDecelerationDistance(DriverStrategy.BrakeTrigger.NextTargetSpeed) + - DefaultDriverStrategy.BrakingSafetyMargin; - Log.Debug("breaking distance: {0}, start braking @ {1}", brakingDistance, - DriverStrategy.BrakeTrigger.TriggerDistance - brakingDistance); + + Log.Debug("start braking @ {0}", DriverStrategy.BrakeTrigger.TriggerDistance - brakingDistance); var remainingDistanceToBrake = DriverStrategy.BrakeTrigger.TriggerDistance - brakingDistance - currentDistance; var estimatedTimeInterval = remainingDistanceToBrake / DataBus.VehicleSpeed; if (estimatedTimeInterval.IsSmaller(Constants.SimulationSettings.LowerBoundTimeInterval) || -- GitLab