Skip to content

Commit

Permalink
VW: raise minimum steering speed to fix a fault (commaai#31450)
Browse files Browse the repository at this point in the history
* VW: Steer to zero, for large values of zero

* ah, the joy of floating point

* comment, style

* actually fix floating point issue

* follow PlatformConfig refactor

* this check is not useful after PlatformConfig

* don't really need that

* work around docs assert

* little better

* one comment

* update refs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
  • Loading branch information
jyoung8607 and sshane authored May 8, 2024
1 parent adf52c7 commit 93fa207
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion selfdrive/car/docs_definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ def init(self, CP: car.CarParams, all_footnotes: dict[Enum, int]):
# min steer & enable speed columns
# TODO: set all the min steer speeds in carParams and remove this
if self.min_steer_speed is not None:
assert CP.minSteerSpeed == 0, f"{CP.carFingerprint}: Minimum steer speed set in both CarDocs and CarParams"
assert CP.minSteerSpeed < 0.5, f"{CP.carFingerprint}: Minimum steer speed set in both CarDocs and CarParams"
else:
self.min_steer_speed = CP.minSteerSpeed

Expand Down
4 changes: 2 additions & 2 deletions selfdrive/car/volkswagen/interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from panda import Panda
from openpilot.selfdrive.car import get_safety_config
from openpilot.selfdrive.car.interfaces import CarInterfaceBase
from openpilot.selfdrive.car.volkswagen.values import CAR, CANBUS, NetworkLocation, TransmissionType, GearShifter, VolkswagenFlags
from openpilot.selfdrive.car.volkswagen.values import CAR, CANBUS, CarControllerParams, NetworkLocation, TransmissionType, GearShifter, VolkswagenFlags

ButtonType = car.CarState.ButtonEvent.Type
EventName = car.CarEvent.EventName
Expand Down Expand Up @@ -111,7 +111,7 @@ def _update(self, c):
enable_buttons=(ButtonType.setCruise, ButtonType.resumeCruise))

# Low speed steer alert hysteresis logic
if self.CP.minSteerSpeed > 0. and ret.vEgo < (self.CP.minSteerSpeed + 1.):
if (self.CP.minSteerSpeed - 1e-3) > CarControllerParams.DEFAULT_MIN_STEER_SPEED and ret.vEgo < (self.CP.minSteerSpeed + 1.):
self.low_speed_alert = True
elif ret.vEgo > (self.CP.minSteerSpeed + 2.):
self.low_speed_alert = False
Expand Down
6 changes: 6 additions & 0 deletions selfdrive/car/volkswagen/values.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ class CarControllerParams:
STEER_TIME_ALERT = STEER_TIME_MAX - 10 # If mitigation fails, time to soft disengage before EPS timer expires
STEER_TIME_STUCK_TORQUE = 1.9 # EPS limits same torque to 6 seconds, reset timer 3x within that period

DEFAULT_MIN_STEER_SPEED = 0.4 # m/s, newer EPS racks fault below this speed, don't show a low speed alert

ACCEL_MAX = 2.0 # 2.0 m/s max acceleration
ACCEL_MIN = -3.5 # 3.5 m/s max deceleration

Expand Down Expand Up @@ -159,6 +161,7 @@ def init(self):
class VolkswagenCarSpecs(CarSpecs):
centerToFrontRatio: float = 0.45
steerRatio: float = 15.6
minSteerSpeed: float = CarControllerParams.DEFAULT_MIN_STEER_SPEED


class Footnote(Enum):
Expand Down Expand Up @@ -195,6 +198,9 @@ def init_make(self, CP: car.CarParams):
if CP.carFingerprint in (CAR.VOLKSWAGEN_CRAFTER_MK2, CAR.VOLKSWAGEN_TRANSPORTER_T61):
self.car_parts = CarParts([Device.threex_angled_mount, CarHarness.j533])

if abs(CP.minSteerSpeed - CarControllerParams.DEFAULT_MIN_STEER_SPEED) < 1e-3:
self.min_steer_speed = 0


# Check the 7th and 8th characters of the VIN before adding a new CAR. If the
# chassis code is already listed below, don't add a new CAR, just add to the
Expand Down
2 changes: 1 addition & 1 deletion selfdrive/test/process_replay/ref_commit
Original file line number Diff line number Diff line change
@@ -1 +1 @@
692a21e4a722d91086998b532ca6759a3f85c345
685a2bb9aacdd790e26d14aa49d3792c3ed65125

0 comments on commit 93fa207

Please sign in to comment.