Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit fbd85e9f authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Pull request #195: Bugfix/VECTO-1569 extrapolation warning in pev shift strategy

Merge in VECTO/vecto-dev from VECTO/mq_vecto-dev:bugfix/VECTO-1569-extrapolation-warning-in-pev-shift-strategy to develop

* commit '79c44aea':
  update expected values in ADAS tests after changes in PEV shiftstrategy
  calculating energy demand in certain gear mixed up torque and motor speed from drivetrain and EM. estimate torque at EM by applying ADC ratio
parents 8d957508 79c44aea
Branches
Tags
No related merge requests found
...@@ -47,6 +47,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -47,6 +47,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
private GearList GearList; private GearList GearList;
private Dictionary<uint, ShiftPolygon> DeRatedShiftpolygons; private Dictionary<uint, ShiftPolygon> DeRatedShiftpolygons;
private SimpleCharger TestContainerElectricSystemCharger; private SimpleCharger TestContainerElectricSystemCharger;
private double EMRatio;
public static string Name => "AMT - EffShift (BEV)"; public static string Name => "AMT - EffShift (BEV)";
...@@ -91,7 +92,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -91,7 +92,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
if (shiftStrategyParameters == null) { if (shiftStrategyParameters == null) {
throw new VectoException("Parameters for shift strategy missing!"); throw new VectoException("Parameters for shift strategy missing!");
} }
DeRatedShiftpolygons = CalculateDeratedShiftLines(runData.ElectricMachinesData.First(x => x.Item1 == PowertrainPosition.BatteryElectricE2).Item2,
var em = runData.ElectricMachinesData.First(x => x.Item1 == PowertrainPosition.BatteryElectricE2).Item2;
EMRatio = em.RatioADC;
DeRatedShiftpolygons = CalculateDeratedShiftLines(em,
runData.GearboxData.InputData.Gears, runData.VehicleData.DynamicTyreRadius, runData.GearboxData.InputData.Gears, runData.VehicleData.DynamicTyreRadius,
runData.AxleGearData.AxleGear.Ratio, runData.GearboxData.Type); runData.AxleGearData.AxleGear.Ratio, runData.GearboxData.Type);
} }
...@@ -557,7 +561,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -557,7 +561,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
var engineSpeed = response.ElectricMotor.AngularVelocity; var engineSpeed = response.ElectricMotor.AngularVelocity;
var fcCurRes = VoltageLevels.LookupElectricPower(DataBus.BatteryInfo.InternalVoltage, engineSpeed, tqCurrent, true); var fcCurRes = VoltageLevels.LookupElectricPower(DataBus.BatteryInfo.InternalVoltage, engineSpeed, tqCurrent / EMRatio, true);
if (fcCurRes.Extrapolated) { if (fcCurRes.Extrapolated) {
Log.Warn( Log.Warn(
"EffShift Strategy: Extrapolation of power consumption for current gear! n: {0}, Tq: {1}", "EffShift Strategy: Extrapolation of power consumption for current gear! n: {0}, Tq: {1}",
......
...@@ -133,15 +133,15 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS ...@@ -133,15 +133,15 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS
(4837, 4845, OutsideSegment, Roll), // len: 8m (4837, 4845, OutsideSegment, Roll), // len: 8m
(4845, 4881, OutsideSegment, Accelerate), // len: 36m (4845, 4881, OutsideSegment, Accelerate), // len: 36m
(4881, 4887, OutsideSegment, Roll), // len: 6m (4881, 4887, OutsideSegment, Roll), // len: 6m
(4887, 5127, OutsideSegment, Accelerate), // len: 240m (4887, 5088, OutsideSegment, Accelerate), // len: 201m
(5127, 5143, OutsideSegment, Roll), // len: 16m (5088, 5103, OutsideSegment, Roll), // len: 15m
(5143, 5186, OutsideSegment, Accelerate), // len: 43m (5103, 5143, OutsideSegment, Accelerate), // len: 40m
(5186, 5204, OutsideSegment, Roll), // len: 18m (5143, 5159, OutsideSegment, Roll), // len: 16m
(5204, 5433, OutsideSegment, Accelerate), // len: 229m (5159, 5431, OutsideSegment, Accelerate), // len: 272m
(5433, 5528, OutsideSegment, Coast), // len: 95m (5431, 5526, OutsideSegment, Coast), // len: 95m
(5528, 6080, OutsideSegment, Brake), // len: 552m (5526, 6090, OutsideSegment, Brake), // len: 564m
(6080, 6366, OutsideSegment, Coast), // len: 286m (6090, 6364, OutsideSegment, Coast), // len: 274m
(6366, 1e6, OutsideSegment, Accelerate)); (6364, 1e6, OutsideSegment, Accelerate));
[TestCase] [TestCase]
public void Class5_E2_NoADAS_CrestCoast1() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).Join("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(), public void Class5_E2_NoADAS_CrestCoast1() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).Join("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
...@@ -273,15 +273,15 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS ...@@ -273,15 +273,15 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS
(4837, 4845, WithinSegment, Roll), // len: 8m (4837, 4845, WithinSegment, Roll), // len: 8m
(4845, 4881, WithinSegment, Accelerate), // len: 36m (4845, 4881, WithinSegment, Accelerate), // len: 36m
(4881, 4887, WithinSegment, Roll), // len: 6m (4881, 4887, WithinSegment, Roll), // len: 6m
(4887, 5127, WithinSegment, Accelerate), // len: 240m (4887, 5088, WithinSegment, Accelerate), // len: 201m
(5127, 5143, WithinSegment, Roll), // len: 16m (5088, 5103, WithinSegment, Roll), // len: 15m
(5143, 5186, WithinSegment, Accelerate), // len: 43m (5103, 5143, WithinSegment, Accelerate), // len: 40m
(5186, 5204, WithinSegment, Roll), // len: 18m (5143, 5159, WithinSegment, Roll), // len: 16m
(5204, 5332, WithinSegment, Accelerate), // len: 128m (5159, 5330, WithinSegment, Accelerate), // len: 171m
(5332, 5681, UseCase2, Coast), // len: 349m (5330, 5679, UseCase2, Coast), // len: 349m
(5681, 6145, WithinSegment, Coast), // len: 464m (5679, 6143, WithinSegment, Coast), // len: 464m
(6145, 6471, OutsideSegment, Coast), // len: 326m (6143, 6469, OutsideSegment, Coast), // len: 326m
(6471, 1e6, OutsideSegment, Accelerate)); (6469, 1e6, OutsideSegment, Accelerate));
[TestCase] [TestCase]
public void Class5_E2_PCC123_CrestCoast1() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).Join("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(), public void Class5_E2_PCC123_CrestCoast1() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).Join("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
...@@ -420,17 +420,17 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS ...@@ -420,17 +420,17 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS
(4837, 4845, WithinSegment, Roll), // len: 8m (4837, 4845, WithinSegment, Roll), // len: 8m
(4845, 4881, WithinSegment, Accelerate), // len: 36m (4845, 4881, WithinSegment, Accelerate), // len: 36m
(4881, 4887, WithinSegment, Roll), // len: 6m (4881, 4887, WithinSegment, Roll), // len: 6m
(4887, 5127, WithinSegment, Accelerate), // len: 240m (4887, 5088, WithinSegment, Accelerate), // len: 201m
(5127, 5143, WithinSegment, Roll), // len: 16m (5088, 5103, WithinSegment, Roll), // len: 15m
(5143, 5186, WithinSegment, Accelerate), // len: 43m (5103, 5143, WithinSegment, Accelerate), // len: 40m
(5186, 5204, WithinSegment, Roll), // len: 18m (5143, 5159, WithinSegment, Roll), // len: 16m
(5204, 5332, WithinSegment, Accelerate), // len: 128m (5159, 5330, WithinSegment, Accelerate), // len: 171m
(5332, 5681, UseCase2, Coast), // len: 349m (5330, 5679, UseCase2, Coast), // len: 349m
(5681, 5753, WithinSegment, Coast), // len: 72m (5679, 5751, WithinSegment, Coast), // len: 72m
(5753, 6089, WithinSegment, Brake), // len: 336m (5751, 6087, WithinSegment, Brake), // len: 336m
(6089, 6137, WithinSegment, Coast), // len: 48m (6087, 6135, WithinSegment, Coast), // len: 48m
(6137, 6363, OutsideSegment, Coast), // len: 226m (6135, 6373, OutsideSegment, Coast), // len: 238m
(6363, 1e6, OutsideSegment, Accelerate)); (6373, 1e6, OutsideSegment, Accelerate));
[TestCase] [TestCase]
public void Class5_E2_PCC12_CrestCoast1() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).Join("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(), public void Class5_E2_PCC12_CrestCoast1() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).Join("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment