From 1bb09c82647184afb9ab98aca77359f45cdbb1d7 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <quaritsch@ivt.tugraz.at> Date: Thu, 9 Mar 2023 10:06:44 +0100 Subject: [PATCH] hybrid strategy: additional filter, try to avoid configurations that exceed the battery limits --- .../Strategies/HybridStrategy.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs index b27574109a..5b55095322 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs @@ -55,7 +55,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies TestPowertrain.Gearbox.Disengaged = !useNextGear.Engaged; TestPowertrain.Gearbox.DisengageGearbox = !useNextGear.Engaged; TestPowertrain.Gearbox._nextGear = Controller.ShiftStrategy.NextGear; - TestPowertrain.Container.VehiclePort.Initialize(DataBus.VehicleInfo.VehicleSpeed, DataBus.DrivingCycleInfo.RoadGradient ?? 0.SI<Radian>()); + //if (DataBus.GearboxInfo.GearboxType != GearboxType.APTN) { + TestPowertrain.Container.VehiclePort.Initialize(DataBus.VehicleInfo.VehicleSpeed, + DataBus.DrivingCycleInfo.RoadGradient ?? 0.SI<Radian>()); + //} + TestPowertrain.HybridController.ApplyStrategySettings(cfg); @@ -79,7 +83,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies } } - TestPowertrain.HybridController.Initialize(Controller.PreviousState.OutTorque, Controller.PreviousState.OutAngularVelocity); + //if (DataBus.GearboxInfo.GearboxType != GearboxType.APTN) { + TestPowertrain.HybridController.Initialize(Controller.PreviousState.OutTorque, + Controller.PreviousState.OutAngularVelocity); + //} if (!PreviousState.GearboxEngaged || (useNextGear.Engaged && useNextGear.Equals(DataBus.GearboxInfo.Gear)) || !nextGear.Engaged) { TestPowertrain.CombustionEngine.UpdateFrom(DataBus.EngineInfo); @@ -1536,7 +1543,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies DataBus.GearboxInfo.GearEngaged(absTime) && (eval.First().Response?.Gearbox.Gear.Engaged ?? true); if (DataBus.DriverInfo.DrivingAction == DrivingAction.Accelerate && emEngaged) { //var filtered = eval.Where(x => !x.IgnoreReason.InvalidEngineSpeed()).ToArray(); - var filtered = eval.Where(x => !x.IgnoreReason.EngineSpeedTooLow() && !x.IgnoreReason.EngineSpeedTooHigh()).ToArray(); + var batOK = eval.Where(x => !x.IgnoreReason.BatteryDemandExceeded()).ToArray(); + if (!batOK.Any()) { + batOK = eval.ToArray(); + } + var filtered = batOK.Where(x => !x.IgnoreReason.EngineSpeedTooLow() && !x.IgnoreReason.EngineSpeedTooHigh()).ToArray(); if (filtered.Length == 0) { filtered = eval.Where(x => !x.IgnoreReason.EngineSpeedTooLow() && !x.IgnoreReason.EngineSpeedTooHigh()).ToArray(); } -- GitLab