diff --git a/src/modules/simu/simuv4/car.cpp b/src/modules/simu/simuv4/car.cpp index 8b4ae3a4..f1395841 100644 --- a/src/modules/simu/simuv4/car.cpp +++ b/src/modules/simu/simuv4/car.cpp @@ -275,8 +275,11 @@ SimCarUpdateForces(tCar *car) else if ( (desiredTq - F.M.z) > 0.0 ) {F.M.z += 0.5 * w * car->wheelbase;} else {F.M.z -= 0.5 * w * car->wheelbase;} /* desired force to really stop the car when braking to 0 */ - if ( (car->ctrl->brakeCmd > 0.05) && (fabs(car->DynGC.vel.x) < 0.02) ) { + if ( ((car->ctrl->brakeCmd > 0.05) || (car->ctrl->ebrakeCmd > 0.1) || (car->ctrl->brakeFrontLeftCmd > 0.02) + || (car->ctrl->brakeFrontRightCmd > 0.02) || (car->ctrl->brakeRearLeftCmd > 0.02) || (car->ctrl->brakeRearRightCmd > 0.02) ) + && (car->ctrl->accelCmd * car->transmission.clutch.transferValue < 0.05) && (fabs(car->DynGC.vel.x) < 0.02) ) { desiredF = - m * car->DynGC.vel.x / SimDeltaTime; + w *= 0.5; if ( (fabs(desiredF - F.F.x)) < w ) {F.F.x = desiredF;} else if ( (desiredF - F.F.x) > 0.0 ) {F.F.x += w;} else {F.F.x -= w;} diff --git a/src/modules/simu/simuv4/wheel.cpp b/src/modules/simu/simuv4/wheel.cpp index a22420a8..fbe90fbd 100644 --- a/src/modules/simu/simuv4/wheel.cpp +++ b/src/modules/simu/simuv4/wheel.cpp @@ -262,13 +262,8 @@ void SimWheelUpdateForce(tCar *car, int index) Fn -= F * sy / s; } - if (car->features & FEAT_SLOWGRIP) { - wheel->preFn = Fn; - wheel->preFt = Ft; - } else { - FLOAT_RELAXATION2(Fn, wheel->preFn, 50.0f); - FLOAT_RELAXATION2(Ft, wheel->preFt, 50.0f); - } + FLOAT_RELAXATION2(Fn, wheel->preFn, 50.0f); + FLOAT_RELAXATION2(Ft, wheel->preFt, 50.0f); wheel->relPos.az = waz;