mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-27 08:52:05 +08:00
[Lateral PID] Function for steer feedforward (#22638)
* store a function for steer feedforward * use classmethod Co-authored-by: Willem Melching <willem.melching@gmail.com>
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user