From a861e33c86126c6a437f0ae7388092e0973648f7 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Wed, 29 Mar 2023 21:03:39 -0700 Subject: [PATCH] compute accel (car overshoots requests at low speed) --- selfdrive/car/honda/carcontroller.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/selfdrive/car/honda/carcontroller.py b/selfdrive/car/honda/carcontroller.py index f6d328131b..91e1f04e18 100644 --- a/selfdrive/car/honda/carcontroller.py +++ b/selfdrive/car/honda/carcontroller.py @@ -18,6 +18,15 @@ def compute_gb_honda_bosch(accel, speed): return 0.0, 0.0 +def compute_accel_honda_bosch_radarless(accel, speed): + creep_brake = 0.0 + creep_speed = 2.3 + creep_brake_value = 0.4 + if speed < creep_speed: + creep_brake = (creep_speed - speed) / creep_speed * creep_brake_value + return float(accel) - creep_brake + + def compute_gb_honda_nidec(accel, speed): creep_brake = 0.0 creep_speed = 2.3 @@ -35,6 +44,12 @@ def compute_gas_brake(accel, speed, fingerprint): return compute_gb_honda_nidec(accel, speed) +def compute_accel(accel, speed, fingerprint): + if fingerprint in HONDA_BOSCH_RADARLESS: + return compute_accel_honda_bosch_radarless(accel, speed) + return accel + + # TODO not clear this does anything useful def actuator_hysteresis(brake, braking, brake_steady, v_ego, car_fingerprint): # hyst params @@ -131,7 +146,7 @@ class CarController: pcm_cancel_cmd = CC.cruiseControl.cancel if CC.longActive: - accel = actuators.accel + accel = compute_accel(actuators.accel, CS.vEgo, self.CP.carFingerprint) gas, brake = compute_gas_brake(actuators.accel, CS.out.vEgo, self.CP.carFingerprint) else: accel = 0.0