there was a bug, need to subtract from last_angle essentially

pull/28848/head
Shane Smiskol 2 years ago
parent 91f216735a
commit a595e4af64
  1. 12
      selfdrive/car/toyota/carcontroller.py

@ -77,16 +77,18 @@ class CarController:
apply_steer_req = 0
if self.frame % 2 == 0:
# EPS uses the torque sensor angle to control with, offset to compensate
apply_angle = actuators.steeringAngleDeg + CS.out.steeringAngleOffsetDeg
new_angle = actuators.steeringAngleDeg + CS.out.steeringAngleOffsetDeg
angle_diff = new_angle - self.last_angle
# If the EPS output torque is above the limit, force the requested
# angle to lower at the max allowed rate
angle_down_limit = interp(CS.out.vEgo, self.params.ANGLE_RATE_LIMIT_DOWN.speed_bp,
self.params.ANGLE_RATE_LIMIT_DOWN.angle_v)
max_torque_angle_mod = interp(abs(CS.out.steeringTorqueEps),
[MAX_STEER_TORQUE, MAX_STEER_TORQUE + 100], [0, -angle_down_limit])
sign_of = 1 if apply_angle >= 0 else -1
apply_angle += max_torque_angle_mod * sign_of
sign_of = 1 if new_angle >= 0 else -1
angle_diff = interp(abs(CS.out.steeringTorqueEps),
[MAX_STEER_TORQUE, MAX_STEER_TORQUE + 100],
[angle_diff, -angle_down_limit * sign_of])
apply_angle = self.last_angle + angle_diff
# Angular rate limit based on speed
apply_angle = apply_std_steer_angle_limits(apply_angle, self.last_angle, CS.out.vEgo, self.params)

Loading…
Cancel
Save