mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-07-16 08:42:07 +08:00
Remove unused dynamic personality parameter handling from stock longitudinal planner; add dynamic personality parameter refresh in sunnypilot longitudinal planner
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
import math
|
||||
import numpy as np
|
||||
from openpilot.common.params import Params
|
||||
import cereal.messaging as messaging
|
||||
from opendbc.car.interfaces import ACCEL_MIN, ACCEL_MAX
|
||||
from openpilot.common.conversions import Conversions as CV
|
||||
@@ -72,20 +71,6 @@ class LongitudinalPlanner(LongitudinalPlannerSP):
|
||||
self.j_desired_trajectory = np.zeros(CONTROL_N)
|
||||
self.solverExecutionTime = 0.0
|
||||
|
||||
self.params = Params()
|
||||
self.param_read_counter = 0
|
||||
self.read_param()
|
||||
|
||||
self.dynamic_personality = False
|
||||
|
||||
|
||||
def read_param(self):
|
||||
try:
|
||||
self.dynamic_personality = self.params.get_bool("DynamicPersonality")
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
|
||||
@staticmethod
|
||||
def parse_model(model_msg, model_error):
|
||||
if (len(model_msg.position.x) == ModelConstants.IDX_N and
|
||||
|
||||
-1
@@ -1,4 +1,3 @@
|
||||
#!/usr/bin/env python3
|
||||
from cereal import log
|
||||
import numpy as np
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ from cereal import messaging, custom
|
||||
from opendbc.car import structs
|
||||
from openpilot.sunnypilot.models.helpers import get_active_model_runner
|
||||
from openpilot.sunnypilot.selfdrive.controls.lib.dec.dec import DynamicExperimentalController
|
||||
from openpilot.common.params import Params
|
||||
|
||||
DecState = custom.LongitudinalPlanSP.DynamicExperimentalControl.DynamicExperimentalControlState
|
||||
|
||||
@@ -18,6 +19,17 @@ class LongitudinalPlannerSP:
|
||||
self.dec = DynamicExperimentalController(CP, mpc)
|
||||
self.is_stock = get_active_model_runner() == custom.ModelManagerSP.Runner.stock
|
||||
|
||||
self.params = Params()
|
||||
self.param_read_counter = 0
|
||||
self.dynamic_personality = False
|
||||
self.read_param()
|
||||
|
||||
def read_param(self):
|
||||
try:
|
||||
self.dynamic_personality = self.params.get_bool("DynamicPersonality")
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
def get_mpc_mode(self) -> str | None:
|
||||
if not self.dec.active():
|
||||
return None
|
||||
@@ -25,6 +37,9 @@ class LongitudinalPlannerSP:
|
||||
return self.dec.mode()
|
||||
|
||||
def update(self, sm: messaging.SubMaster) -> None:
|
||||
self.param_read_counter += 1
|
||||
if self.param_read_counter % 50 == 0:
|
||||
self.read_param()
|
||||
self.dec.update(sm)
|
||||
|
||||
def publish_longitudinal_plan_sp(self, sm: messaging.SubMaster, pm: messaging.PubMaster) -> None:
|
||||
|
||||
Reference in New Issue
Block a user