diff --git a/selfdrive/car/interfaces.py b/selfdrive/car/interfaces.py index 672a6b606b..a602a06a61 100644 --- a/selfdrive/car/interfaces.py +++ b/selfdrive/car/interfaces.py @@ -57,11 +57,15 @@ class CarInterfaceBase(): pass @staticmethod - def get_steer_feedforward(desired_angle, v_ego): + def get_steer_feedforward_default(desired_angle, v_ego): # Proportional to realigning tire momentum: lateral acceleration. # TODO: something with lateralPlan.curvatureRates return desired_angle * (v_ego**2) + @classmethod + def get_steer_feedforward_function(cls): + return cls.get_steer_feedforward_default + # returns a set of default params to avoid repetition in car specific params @staticmethod def get_std_params(candidate, fingerprint): diff --git a/selfdrive/controls/lib/latcontrol_pid.py b/selfdrive/controls/lib/latcontrol_pid.py index b495571385..5062df36d6 100644 --- a/selfdrive/controls/lib/latcontrol_pid.py +++ b/selfdrive/controls/lib/latcontrol_pid.py @@ -11,7 +11,7 @@ class LatControlPID(): (CP.lateralTuning.pid.kiBP, CP.lateralTuning.pid.kiV), k_f=CP.lateralTuning.pid.kf, pos_limit=1.0, neg_limit=-1.0, sat_limit=CP.steerLimitTimer) - self.get_steer_feedforward = CI.get_steer_feedforward + self.get_steer_feedforward = CI.get_steer_feedforward_function() def reset(self): self.pid.reset()