From f382892719fdaa61f31d9702e3d0677ad5c5c2b8 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 15 Jun 2020 14:34:03 +0200 Subject: [PATCH] driver strategy: handle the case that an underload may happen and the clutch is already re-engaged -> use engaged action --- .../SimulationComponent/Impl/DefaultDriverStrategy.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs index 40a03d68bd..7ac10086c7 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs @@ -492,8 +492,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl debug.Add(new { action = "ClutchOpen -> Roll", response }); response.Switch().Case<ResponseUnderload>( r => { - response = Driver.DrivingActionBrake(absTime, ds, velocity, gradient, r); - debug.Add(new { action = "Roll:Underload -> Brake", response }); + if (DataBus.ClutchClosed(absTime)) { + response = HandleRequestEngaged(absTime, ds, velocity, gradient, false, velocity, debug); + } else { + response = Driver.DrivingActionBrake(absTime, ds, velocity, gradient, r); + debug.Add(new { action = "Roll:Underload -> Brake", response }); + } }) .Case<ResponseSpeedLimitExceeded>( () => { -- GitLab