From 45e259f4387cd8ffa7d4482816c7ebf8e3e149a8 Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Sun, 16 Mar 2025 15:51:39 -0400 Subject: [PATCH] fix initialization --- selfdrive/controls/lib/latcontrol_torque.py | 3 +-- sunnypilot/selfdrive/controls/lib/nnlc/nnlc.py | 7 ++++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/selfdrive/controls/lib/latcontrol_torque.py b/selfdrive/controls/lib/latcontrol_torque.py index ac7168b1e7..9848079b12 100644 --- a/selfdrive/controls/lib/latcontrol_torque.py +++ b/selfdrive/controls/lib/latcontrol_torque.py @@ -34,8 +34,7 @@ class LatControlTorque(LatControl): self.use_steering_angle = self.torque_params.useSteeringAngle self.steering_angle_deadzone_deg = self.torque_params.steeringAngleDeadzoneDeg - if CP_SP.neuralNetworkLateralControl.enabled: - self.nnlc = NeuralNetworkLateralControl(self, CP, CP_SP) + self.nnlc = NeuralNetworkLateralControl(self, CP, CP_SP) def update_live_torque_params(self, latAccelFactor, latAccelOffset, friction): self.torque_params.latAccelFactor = latAccelFactor diff --git a/sunnypilot/selfdrive/controls/lib/nnlc/nnlc.py b/sunnypilot/selfdrive/controls/lib/nnlc/nnlc.py index d1469121c3..559ba74ab9 100644 --- a/sunnypilot/selfdrive/controls/lib/nnlc/nnlc.py +++ b/sunnypilot/selfdrive/controls/lib/nnlc/nnlc.py @@ -80,10 +80,13 @@ class NeuralNetworkLateralControl: self.lac_torque = lac_torque self.params = Params() + self.enabled = CP_SP.neuralNetworkLateralControl.enabled + # NN model takes current v_ego, lateral_accel, lat accel/jerk error, roll, and past/future/planned data # of lat accel and roll # Past value is computed using previous desired lat accel and observed roll - self.flux_model = FluxModel(CP_SP.neuralNetworkLateralControl.modelPath) + # Only initialize FluxModel if enabled + self.flux_model = FluxModel(CP_SP.neuralNetworkLateralControl.modelPath) if self.enabled else None self.torque_from_lateral_accel = lac_torque.torque_from_lateral_accel self.torque_params = lac_torque.torque_params @@ -102,8 +105,6 @@ class NeuralNetworkLateralControl: self._pid_log = None # twilsonco's Lateral Neural Network Feedforward - self.enabled = CP_SP.neuralNetworkLateralControl.enabled - # Instantaneous lateral jerk changes very rapidly, making it not useful on its own, # however, we can "look ahead" to the future planned lateral jerk in order to gauge # whether the current desired lateral jerk will persist into the future, i.e.