|
|
|
@ -14,7 +14,8 @@ from openpilot.common.simple_kalman import KF1D, get_kalman_gain |
|
|
|
|
from openpilot.common.numpy_fast import clip |
|
|
|
|
from openpilot.common.realtime import DT_CTRL |
|
|
|
|
from openpilot.selfdrive.car import apply_hysteresis, gen_empty_fingerprint, scale_rot_inertia, scale_tire_stiffness, STD_CARGO_KG |
|
|
|
|
from openpilot.selfdrive.car.values import Platform |
|
|
|
|
from openpilot.selfdrive.car.mock.values import CAR as MOCK |
|
|
|
|
from openpilot.selfdrive.car.values import PLATFORMS |
|
|
|
|
from openpilot.selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX, get_friction |
|
|
|
|
from openpilot.selfdrive.controls.lib.events import Events |
|
|
|
|
from openpilot.selfdrive.controls.lib.vehicle_model import VehicleModel |
|
|
|
@ -102,24 +103,26 @@ class CarInterfaceBase(ABC): |
|
|
|
|
return ACCEL_MIN, ACCEL_MAX |
|
|
|
|
|
|
|
|
|
@classmethod |
|
|
|
|
def get_non_essential_params(cls, candidate: Platform): |
|
|
|
|
def get_non_essential_params(cls, candidate: str): |
|
|
|
|
""" |
|
|
|
|
Parameters essential to controlling the car may be incomplete or wrong without FW versions or fingerprints. |
|
|
|
|
""" |
|
|
|
|
return cls.get_params(candidate, gen_empty_fingerprint(), list(), False, False) |
|
|
|
|
|
|
|
|
|
@classmethod |
|
|
|
|
def get_params(cls, candidate: Platform, fingerprint: dict[int, dict[int, int]], car_fw: list[car.CarParams.CarFw], experimental_long: bool, docs: bool): |
|
|
|
|
def get_params(cls, candidate: str, fingerprint: dict[int, dict[int, int]], car_fw: list[car.CarParams.CarFw], experimental_long: bool, docs: bool): |
|
|
|
|
platform = PLATFORMS.get(candidate, MOCK.MOCK) |
|
|
|
|
|
|
|
|
|
ret = CarInterfaceBase.get_std_params(candidate) |
|
|
|
|
|
|
|
|
|
ret.mass = candidate.config.specs.mass |
|
|
|
|
ret.wheelbase = candidate.config.specs.wheelbase |
|
|
|
|
ret.steerRatio = candidate.config.specs.steerRatio |
|
|
|
|
ret.centerToFront = ret.wheelbase * candidate.config.specs.centerToFrontRatio |
|
|
|
|
ret.minEnableSpeed = candidate.config.specs.minEnableSpeed |
|
|
|
|
ret.minSteerSpeed = candidate.config.specs.minSteerSpeed |
|
|
|
|
ret.tireStiffnessFactor = candidate.config.specs.tireStiffnessFactor |
|
|
|
|
ret.flags |= int(candidate.config.flags) |
|
|
|
|
ret.mass = platform.config.specs.mass |
|
|
|
|
ret.wheelbase = platform.config.specs.wheelbase |
|
|
|
|
ret.steerRatio = platform.config.specs.steerRatio |
|
|
|
|
ret.centerToFront = ret.wheelbase * platform.config.specs.centerToFrontRatio |
|
|
|
|
ret.minEnableSpeed = platform.config.specs.minEnableSpeed |
|
|
|
|
ret.minSteerSpeed = platform.config.specs.minSteerSpeed |
|
|
|
|
ret.tireStiffnessFactor = platform.config.specs.tireStiffnessFactor |
|
|
|
|
ret.flags |= int(platform.config.flags) |
|
|
|
|
|
|
|
|
|
ret = cls._get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs) |
|
|
|
|
|
|
|
|
|