Latcontrol torque: integrator need not be reset (#24606)

slow integrators need not be reset
pull/24602/head^2
HaraldSchafer 3 years ago committed by GitHub
parent 4ef94a436f
commit 2181bbca71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      selfdrive/controls/lib/latcontrol_torque.py

@ -42,8 +42,6 @@ class LatControlTorque(LatControl):
if CS.vEgo < MIN_STEER_SPEED or not active:
output_torque = 0.0
pid_log.active = False
if not active:
self.pid.reset()
else:
if self.use_steering_angle:
actual_curvature = -VM.calc_curvature(math.radians(CS.steeringAngleDeg - params.angleOffsetDeg), CS.vEgo, params.roll)
@ -62,10 +60,11 @@ class LatControlTorque(LatControl):
# convert friction into lateral accel units for feedforward
friction_compensation = interp(desired_lateral_jerk, [-JERK_THRESHOLD, JERK_THRESHOLD], [-self.friction, self.friction])
ff += friction_compensation / self.kf
freeze_integrator = CS.steeringRateLimited or CS.steeringPressed or CS.vEgo < 5
output_torque = self.pid.update(error,
override=CS.steeringPressed, feedforward=ff,
feedforward=ff,
speed=CS.vEgo,
freeze_integrator=CS.steeringRateLimited)
freeze_integrator=freeze_integrator)
pid_log.active = True
pid_log.p = self.pid.p

Loading…
Cancel
Save