Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

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

at effshift strategy: estimate current fuel consumption at the same point in...

at effshift strategy: estimate current fuel consumption at the same point in time in the future as for the next gear (e.g., 0.8s, after a potential gearshift)
parent 63c432cb
No related branches found
No related tags found
No related merge requests found
......@@ -233,6 +233,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
var vDrop = DataBus.DriverAcceleration * shiftStrategyParameters.ATLookAheadTime;
var vehicleSpeedPostShift = (DataBus.VehicleSpeed + vDrop * shiftStrategyParameters.VelocityDropFactor).LimitTo(0.KMPHtoMeterPerSecond(), DataBus.CycleData.LeftSample.VehicleTargetSpeed);
var outAngularVelocityEst = (outAngularVelocity * vehicleSpeedPostShift / (DataBus.VehicleSpeed + DataBus.DriverAcceleration * dt)).Cast<PerSecond>();
var outTorqueEst = outTorque * outAngularVelocity / outAngularVelocityEst;
for (var i = 1; i <= shiftStrategyParameters.AllowedGearRangeFC; i++) {
if (currentIdx + i >= GearList.Count) {
......@@ -259,9 +262,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
var pNextGearMax = DataBus.EngineStationaryFullPower(estimatedEngineSpeed);
var outAngularVelocityEst = (outAngularVelocity* vehicleSpeedPostShift / (DataBus.VehicleSpeed + DataBus.DriverAcceleration * dt)).Cast<PerSecond>() ;
var outTorqueEst = outTorque * outAngularVelocity / outAngularVelocityEst;
var response = RequestDryRunWithGear(absTime, dt, outTorqueEst, outAngularVelocityEst, next);
//var response = RequestDryRunWithGear(absTime, dt, vehicleSpeedPostShift, DataBus.DriverAcceleration, next);
......@@ -306,7 +306,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
if (fcCurrent == null) {
//var responseCurrent = RequestDryRunWithGear(
// absTime, dt, vehicleSpeedForGearRating, DataBus.DriverAcceleration, current);
var responseCurrent = RequestDryRunWithGear(absTime, dt, outTorque, outAngularVelocity, current);
//var responseCurrent = RequestDryRunWithGear(absTime, dt, outTorque, outAngularVelocity, current);
var responseCurrent = RequestDryRunWithGear(absTime, dt, outTorqueEst, outAngularVelocityEst, current);
var tqCurrent = responseCurrent.EngineTorqueDemand.LimitTo(
fld[currentGear].DragLoadStationaryTorque(responseCurrent.EngineSpeed),
fld[currentGear].FullLoadStationaryTorque(responseCurrent.EngineSpeed));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment