[Lateral PID] Function for steer feedforward (#22638)

* store a function for steer feedforward

* use classmethod

Co-authored-by: Willem Melching <willem.melching@gmail.com>
pull/22621/head
qadmus 4 years ago committed by GitHub
parent bde568205e
commit 778374d3dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      selfdrive/car/interfaces.py
  2. 2
      selfdrive/controls/lib/latcontrol_pid.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):

@ -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()

Loading…
Cancel
Save