|
|
@ -10,14 +10,14 @@ VisualAlert = car.CarControl.HUDControl.VisualAlert |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def apply_ford_curvature_limits(apply_curvature, apply_curvature_last, current_curvature, v_ego_raw): |
|
|
|
def apply_ford_curvature_limits(apply_curvature, apply_curvature_last, current_curvature, v_ego_raw): |
|
|
|
# Note that we do curvature error limiting after the rate limits since they are just for tuning reasons |
|
|
|
|
|
|
|
apply_curvature = apply_std_steer_angle_limits(apply_curvature, apply_curvature_last, v_ego_raw, CarControllerParams) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# No blending at low speed due to lack of torque wind-up and inaccurate current curvature |
|
|
|
# No blending at low speed due to lack of torque wind-up and inaccurate current curvature |
|
|
|
if v_ego_raw > 9: |
|
|
|
if v_ego_raw > 9: |
|
|
|
apply_curvature = clip(apply_curvature, current_curvature - CarControllerParams.CURVATURE_ERROR, |
|
|
|
apply_curvature = clip(apply_curvature, current_curvature - CarControllerParams.CURVATURE_ERROR, |
|
|
|
current_curvature + CarControllerParams.CURVATURE_ERROR) |
|
|
|
current_curvature + CarControllerParams.CURVATURE_ERROR) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Curvature rate limit after driver torque limit |
|
|
|
|
|
|
|
apply_curvature = apply_std_steer_angle_limits(apply_curvature, apply_curvature_last, v_ego_raw, CarControllerParams) |
|
|
|
|
|
|
|
|
|
|
|
return clip(apply_curvature, -CarControllerParams.CURVATURE_MAX, CarControllerParams.CURVATURE_MAX) |
|
|
|
return clip(apply_curvature, -CarControllerParams.CURVATURE_MAX, CarControllerParams.CURVATURE_MAX) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|