diff --git a/selfdrive/controls/lib/latcontrol_torque.py b/selfdrive/controls/lib/latcontrol_torque.py index 2816b20149794bb..862e8b384fa81ed 100644 --- a/selfdrive/controls/lib/latcontrol_torque.py +++ b/selfdrive/controls/lib/latcontrol_torque.py @@ -59,14 +59,14 @@ def update(self, active, CS, CP, VM, params, last_actuators, desired_curvature, pid_log.error = error ff = desired_lateral_accel - params.roll * ACCELERATION_DUE_TO_GRAVITY + # 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 / CP.lateralTuning.torque.kf output_torque = self.pid.update(error, override=CS.steeringPressed, feedforward=ff, speed=CS.vEgo, freeze_integrator=CS.steeringRateLimited) - friction_compensation = interp(desired_lateral_jerk, [-JERK_THRESHOLD, JERK_THRESHOLD], [-self.friction, self.friction]) - output_torque += friction_compensation - pid_log.active = True pid_log.p = self.pid.p pid_log.i = self.pid.i @@ -75,5 +75,5 @@ def update(self, active, CS, CP, VM, params, last_actuators, desired_curvature, pid_log.output = -output_torque pid_log.saturated = self._check_saturation(self.steer_max - abs(output_torque) < 1e-3, CS) - #TODO left is positive in this convention + # TODO left is positive in this convention return -output_torque, 0.0, pid_log