From fb6da7c78c3ee7ed2763e4d1ba9a3af1133b1d47 Mon Sep 17 00:00:00 2001 From: FrogAi <91348155+FrogAi@users.noreply.github.com> Date: Mon, 27 May 2024 03:06:35 -0700 Subject: [PATCH] Controls - Lane Change Customizations - One Lane Change Per Signal Only allow one nudgeless lane change per turn signal activation. --- selfdrive/controls/lib/desire_helper.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/selfdrive/controls/lib/desire_helper.py b/selfdrive/controls/lib/desire_helper.py index db91dbd..c4cea30 100644 --- a/selfdrive/controls/lib/desire_helper.py +++ b/selfdrive/controls/lib/desire_helper.py @@ -40,6 +40,8 @@ class DesireHelper: self.desire = log.Desire.none # FrogPilot variables + self.lane_change_completed = False + self.lane_change_wait_timer = 0 def update(self, carstate, lateral_active, lane_change_prob, frogpilotPlan, frogpilot_toggles): @@ -84,8 +86,9 @@ class DesireHelper: if not one_blinker or below_lane_change_speed: self.lane_change_state = LaneChangeState.off self.lane_change_direction = LaneChangeDirection.none - elif torque_applied and not blindspot_detected and lane_available and self.lane_change_wait_timer >= frogpilot_toggles.lane_change_delay: + elif torque_applied and not blindspot_detected and lane_available and not self.lane_change_completed and self.lane_change_wait_timer >= frogpilot_toggles.lane_change_delay: self.lane_change_state = LaneChangeState.laneChangeStarting + self.lane_change_completed = True if frogpilot_toggles.one_lane_change else False self.lane_change_wait_timer = 0 # LaneChangeState.laneChangeStarting @@ -114,6 +117,7 @@ class DesireHelper: else: self.lane_change_timer += DT_MDL + self.lane_change_completed &= one_blinker self.prev_one_blinker = one_blinker self.desire = DESIRES[self.lane_change_direction][self.lane_change_state]