Retune nidec long (#21941)

* retune civic

* add a deadzone

* large diffs may not be ok

* typo

* seems smooth

* improve pedal

* back to normal

* new ref

* new ref
old-commit-hash: da73249fc2
commatwo_master
HaraldSchafer 4 years ago committed by GitHub
parent dfac8f778f
commit a30fc4b5db
  1. 21
      selfdrive/car/honda/carcontroller.py
  2. 2
      selfdrive/test/process_replay/ref_commit

@ -162,7 +162,7 @@ class CarController():
apply_accel = interp(accel, P.NIDEC_ACCEL_LOOKUP_BP, P.NIDEC_ACCEL_LOOKUP_V)
# wind brake from air resistance decel at high speed
wind_brake = interp(CS.out.vEgo, [0.0, 2.3, 20.0], [0.0, 0.0, 0.1])
wind_brake = interp(CS.out.vEgo, [0.0, 2.3, 35.0], [0.0, 0.0, 0.15])
if CS.CP.carFingerprint in OLD_NIDEC_LONG_CONTROL:
#pcm_speed = pcm_speed
pcm_accel = int(clip(pcm_accel, 0, 1) * 0xc6)
@ -170,16 +170,15 @@ class CarController():
pcm_speed = CS.out.vEgo + apply_accel
pcm_accel = int(1.0 * 0xc6)
else:
if apply_accel > 0:
pcm_speed = 100
max_accel = interp(CS.out.vEgo, P.NIDEC_MAX_ACCEL_BP, P.NIDEC_MAX_ACCEL_V)
pcm_accel = int(clip(apply_accel/max_accel, 0.0, 1.0) * 0xc6)
else:
decel = max(0.0, -accel)
pcm_speed = CS.out.vEgo * clip((wind_brake - decel)/max(wind_brake, .01), 0.0, 1.0)
pcm_accel = int(0)
pcm_speed_BP = [-wind_brake,
-wind_brake*(3/4),
0.0]
pcm_speed_V = [0.0,
CS.out.vEgo + apply_accel/2.0 - 2.0,
CS.out.vEgo + apply_accel/2.0 + 2.0]
pcm_speed = interp(accel, pcm_speed_BP, pcm_speed_V)
if not CS.CP.openpilotLongitudinalControl:
if (frame % 2) == 0:
@ -210,9 +209,11 @@ class CarController():
self.apply_brake_last = apply_brake
if CS.CP.enableGasInterceptor:
# way too aggressive at low speed without this
gas_mult = interp(CS.out.vEgo, [0., 10.], [0.4, 1.0])
# send exactly zero if apply_gas is zero. Interceptor will send the max between read value and apply_gas.
# This prevents unexpected pedal range rescaling
apply_gas = clip(actuators.gas, 0., 1.)
apply_gas = clip(gas_mult * actuators.gas, 0., 1.)
can_sends.append(create_gas_command(self.packer, apply_gas, idx))
hud = HUDData(int(pcm_accel), int(round(hud_v_cruise)), hud_car,

@ -1 +1 @@
d2523043434c35575f452be55783879058a49ae7
b9d80fdb3942a1c43621349dafe0763b03717c10
Loading…
Cancel
Save