IQ.Pilot Release Commit @ 1399ceb
This commit is contained in:
@@ -22,6 +22,7 @@ from iqpilot.selfdrive.controls.lib.latcontrol_pid import LatControlPID
|
||||
from iqpilot.selfdrive.controls.lib.latcontrol_angle import LatControlAngle, STEER_ANGLE_SATURATION_THRESHOLD
|
||||
from iqpilot.selfdrive.controls.lib.latcontrol_torque import LatControlTorque
|
||||
from iqpilot.selfdrive.controls.lib.latcontrol_torque_pq import LatControlTorquePQ
|
||||
from iqpilot.selfdrive.controls.lib.latcontrol_torque_v0 import LatControlTorqueV0, is_vw_mqb_torque
|
||||
from iqpilot.selfdrive.controls.lib.longcontrol import LongControl
|
||||
from iqpilot.system.proprietary_runtime._verified_import import import_verified_module
|
||||
from iqpilot.selfdrive.locationd.helpers import PoseCalibrator, Pose
|
||||
@@ -111,12 +112,20 @@ class Controls(IQControlsLayer):
|
||||
elif self.CP.lateralTuning.which() == 'pid':
|
||||
self.LaC = LatControlPID(self.CP, self.CP_IQ, self.CI, DT_CTRL)
|
||||
elif self.CP.lateralTuning.which() == 'torque':
|
||||
self.LaC = LatControlTorque(self.CP, self.CP_IQ, self.CI, DT_CTRL)
|
||||
if self._use_pq_torque():
|
||||
try:
|
||||
self.LaC = LatControlTorquePQ(self.CP, self.CP_IQ, self.CI, DT_CTRL)
|
||||
except Exception:
|
||||
cloudlog.exception("LatControlTorquePQ init failed; using generic torque")
|
||||
self.LaC = LatControlTorque(self.CP, self.CP_IQ, self.CI, DT_CTRL)
|
||||
elif self._use_mqb_torque_v0():
|
||||
try:
|
||||
self.LaC = LatControlTorqueV0(self.CP, self.CP_IQ, self.CI, DT_CTRL)
|
||||
except Exception:
|
||||
cloudlog.exception("LatControlTorqueV0 init failed; using generic torque")
|
||||
self.LaC = LatControlTorque(self.CP, self.CP_IQ, self.CI, DT_CTRL)
|
||||
else:
|
||||
self.LaC = LatControlTorque(self.CP, self.CP_IQ, self.CI, DT_CTRL)
|
||||
|
||||
def _use_pq_torque(self) -> bool:
|
||||
try:
|
||||
@@ -128,6 +137,13 @@ class Controls(IQControlsLayer):
|
||||
cloudlog.exception("pq torque selection failed; using generic torque")
|
||||
return False
|
||||
|
||||
def _use_mqb_torque_v0(self) -> bool:
|
||||
try:
|
||||
return is_vw_mqb_torque(self.CP)
|
||||
except Exception:
|
||||
cloudlog.exception("mqb torque v0 selection failed; using generic torque")
|
||||
return False
|
||||
|
||||
def _update_params(self) -> None:
|
||||
self.enable_curvature_controller = self.params.get_bool("EnableCurvatureController")
|
||||
self.enable_smooth_steer = self.params.get_bool("EnableSmoothSteer")
|
||||
@@ -320,7 +336,7 @@ class Controls(IQControlsLayer):
|
||||
hudControl.leftLaneDepart = self.sm['driverAssistance'].leftLaneDeparture
|
||||
hudControl.rightLaneDepart = self.sm['driverAssistance'].rightLaneDeparture
|
||||
|
||||
if self.sm['selfdriveState'].active:
|
||||
if CC.latActive:
|
||||
CO = self.sm['carOutput']
|
||||
if self.CP.steerControlType in (car.CarParams.SteerControlType.angle, car.CarParams.SteerControlType.curvatureDEPRECATED):
|
||||
self.steer_limited_by_safety = abs(CC.actuators.steeringAngleDeg - CO.actuatorsOutput.steeringAngleDeg) > \
|
||||
|
||||
Reference in New Issue
Block a user