From 63d27f574c9dd7521551cffe400f53615daf47bb Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Sun, 16 Mar 2025 05:51:02 -0400 Subject: [PATCH] introduce params --- common/params_keys.h | 1 + sunnypilot/selfdrive/controls/lib/nnlc/nnlc.py | 4 +++- system/manager/manager.py | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/common/params_keys.h b/common/params_keys.h index 7c613e7077..21aa0da808 100644 --- a/common/params_keys.h +++ b/common/params_keys.h @@ -125,6 +125,7 @@ inline static std::unordered_map keys = { {"CarParamsSPPersistent", PERSISTENT}, {"CarPlatformBundle", PERSISTENT}, {"EnableGithubRunner", PERSISTENT | BACKUP}, + {"LateralTorqueControlLateralJerk", PERSISTENT | BACKUP}, {"ModelRunnerTypeCache", CLEAR_ON_ONROAD_TRANSITION}, {"OffroadMode", CLEAR_ON_MANAGER_START}, {"OffroadMode_Status", CLEAR_ON_MANAGER_START}, diff --git a/sunnypilot/selfdrive/controls/lib/nnlc/nnlc.py b/sunnypilot/selfdrive/controls/lib/nnlc/nnlc.py index 9739a73a9f..9fd7b8aee4 100644 --- a/sunnypilot/selfdrive/controls/lib/nnlc/nnlc.py +++ b/sunnypilot/selfdrive/controls/lib/nnlc/nnlc.py @@ -28,6 +28,7 @@ import math import numpy as np from opendbc.car.interfaces import LatControlInputs +from openpilot.common.params import Params from openpilot.common.filter_simple import FirstOrderFilter from openpilot.selfdrive.controls.lib.drive_helpers import CONTROL_N from openpilot.selfdrive.modeld.constants import ModelConstants @@ -79,6 +80,7 @@ class NeuralNetworkLateralControl: self.CI = lac_torque.CI self.CP = lac_torque.CP self.CP_SP = lac_torque.CI.CP_SP + self.params = Params() # NN model takes current v_ego, lateral_accel, lat accel/jerk error, roll, and past/future/planned data # of lat accel and roll @@ -90,7 +92,7 @@ class NeuralNetworkLateralControl: self.model_v2 = None self.model_valid = False - self.use_lateral_jerk: bool = False # TODO: make this a parameter in the UI + self.use_lateral_jerk: bool = self.params.get_bool("LateralTorqueControlLateralJerk") self.use_steering_angle = lac_torque.use_steering_angle self.actual_lateral_jerk: float = 0.0 diff --git a/system/manager/manager.py b/system/manager/manager.py index 499ed6474b..bd1283d5e0 100755 --- a/system/manager/manager.py +++ b/system/manager/manager.py @@ -44,12 +44,14 @@ def manager_init() -> None: sunnypilot_default_params: list[tuple[str, str | bytes]] = [ ("DynamicExperimentalControl", "0"), + ("LateralTorqueControlLateralJerk", "0"), ("Mads", "1"), ("MadsMainCruiseAllowed", "1"), ("MadsPauseLateralOnBrake", "0"), ("MadsUnifiedEngagementMode", "1"), ("ModelManager_LastSyncTime", "0"), - ("ModelManager_ModelsCache", "") + ("ModelManager_ModelsCache", ""), + ("NeuralNetworkLateralControl", "0"), ] if params.get_bool("RecordFrontLock"):