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 b7c6526e authored by Guillaume ALIX's avatar Guillaume ALIX
Browse files

SMT downshift condition - DroppedSpd>DisengSpd

Add a condition to avoid downshifting while reaching the disengage speed.
SMT long gearshift time would result in difficulties to reach target
due to torque interruption.

solves issues : #495, #642 and #739
parent 69d68ad4
No related branches found
No related tags found
No related merge requests found
......@@ -127,7 +127,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl.Shiftstrategies
double droppedSpeedRatio = DataBus.VehicleInfo.VehicleSpeed / droppedSpeed;
var UphillBrakingLowSpeed = inTorque.IsSmaller(0.0) && interpolatedDroppedSpeed.IsSmaller(GearboxModelData.DisengageWhenHaltingSpeed) && DataBus.DrivingCycleInfo.RoadGradient.IsGreater(0.0);
if ((((IsBelowDownShiftCurve(currentGear, inTorque, inAngularVelocity) && droppedSpeedRatio.IsSmallerOrEqual(2.0)) || IsBelowExtendedDownShiftCurve(currentGear, inTorque, inAngularVelocity)) && !(UphillBrakingLowSpeed)) ||
if ((((IsBelowDownShiftCurve(currentGear, inTorque, inAngularVelocity) && droppedSpeedRatio.IsSmallerOrEqual(2.0)) || (IsBelowExtendedDownShiftCurve(currentGear, inTorque, inAngularVelocity) && interpolatedDroppedSpeed.IsGreater(GearboxModelData.DisengageWhenHaltingSpeed))) && !(UphillBrakingLowSpeed)) ||
(inAngularVelocity.IsSmaller(DataBus.EngineInfo.EngineIdleSpeed) && UphillBrakingLowSpeed))
{
currentGear = Gears.Predecessor(currentGear);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment