diff --git a/selfdrive/car/interfaces.py b/selfdrive/car/interfaces.py index bef3456a76395d..bd5b98c8e18a77 100644 --- a/selfdrive/car/interfaces.py +++ b/selfdrive/car/interfaces.py @@ -82,7 +82,6 @@ def get_std_params(candidate, fingerprint): ret.minEnableSpeed = -1. # enable is done by stock ACC, so ignore this ret.steerRatioRear = 0. # no rear steering, at least on the listed cars aboveA ret.openpilotLongitudinalControl = False - ret.minSpeedCan = 0.3 ret.startAccel = -0.8 ret.stopAccel = -2.0 ret.startingAccelRate = 3.2 # brake_travel/s while releasing on restart diff --git a/selfdrive/controls/lib/longcontrol.py b/selfdrive/controls/lib/longcontrol.py index beacc518d0dea8..d6e138abbcf32e 100644 --- a/selfdrive/controls/lib/longcontrol.py +++ b/selfdrive/controls/lib/longcontrol.py @@ -7,21 +7,17 @@ LongCtrlState = car.CarControl.Actuators.LongControlState -STOPPING_TARGET_SPEED_OFFSET = 0.01 - # As per ISO 15622:2018 for all speeds ACCEL_MIN_ISO = -3.5 # m/s^2 ACCEL_MAX_ISO = 2.0 # m/s^2 -def long_control_state_trans(CP, active, long_control_state, v_ego, v_target_future, v_pid, - output_accel, brake_pressed, cruise_standstill, min_speed_can): +def long_control_state_trans(CP, active, long_control_state, v_ego, v_target_future, + output_accel, brake_pressed, cruise_standstill): """Update longitudinal control state machine""" - stopping_target_speed = min_speed_can + STOPPING_TARGET_SPEED_OFFSET stopping_condition = (v_ego < 2.0 and cruise_standstill) or \ (v_ego < CP.vEgoStopping and - ((v_pid < stopping_target_speed and v_target_future < stopping_target_speed) or - brake_pressed)) + (v_target_future < CP.vEgoStopping or brake_pressed)) starting_condition = v_target_future > CP.vEgoStarting and not cruise_standstill @@ -91,8 +87,8 @@ def update(self, active, CS, CP, long_plan, accel_limits): # Update state machine output_accel = self.last_output_accel self.long_control_state = long_control_state_trans(CP, active, self.long_control_state, CS.vEgo, - v_target_future, self.v_pid, output_accel, - CS.brakePressed, CS.cruiseState.standstill, CP.minSpeedCan) + v_target_future, output_accel, + CS.brakePressed, CS.cruiseState.standstill) if self.long_control_state == LongCtrlState.off or CS.gasPressed: self.reset(CS.vEgo) @@ -119,7 +115,6 @@ def update(self, active, CS, CP, long_plan, accel_limits): if not CS.standstill or output_accel > CP.stopAccel: output_accel -= CP.stoppingDecelRate * DT_CTRL output_accel = clip(output_accel, accel_limits[0], accel_limits[1]) - self.reset(CS.vEgo) # Intention is to move again, release brake fast before handing control to PID