From 9ab8ce85f9e43366aeb83ebd035ac1d728ff56ab Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Sat, 17 Oct 2015 23:50:22 +0200 Subject: [PATCH] distance cycle: avoid driving beyond end of cycle --- .../Models/SimulationComponent/Impl/DefaultDriverStrategy.cs | 2 +- .../SimulationComponent/Impl/DistanceBasedDrivingCycle.cs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs index 7f1a20eb9f..a9fae590ee 100644 --- a/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs +++ b/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs @@ -119,7 +119,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl default: return retVal; } - if (ds.IsEqual(newds, 1e-3.SI<Meter>())) { + if (newds.IsEqual(0, 1e-3) || ds.IsEqual(newds, 1e-3.SI<Meter>())) { return retVal; } Log.Debug("Exceeding next ActionDistance at {0}. Reducing max Distance to {1}", nextAction.ActionDistance, newds); diff --git a/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs index f32fc8e0dc..0aa2dc841f 100644 --- a/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs +++ b/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs @@ -189,6 +189,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl return cycleIterator.RightSample.Distance; } } while (cycleIterator.RightSample.Distance < PreviousState.Distance + ds && cycleIterator.MoveNext()); + if (cycleIterator.LastEntry) { + return cycleIterator.RightSample.Distance; + } return null; } -- GitLab