|
|
|
@ -36,7 +36,7 @@ A_EGO_COST = 0. |
|
|
|
|
J_EGO_COST = 5.0 |
|
|
|
|
A_CHANGE_COST = 200. |
|
|
|
|
DANGER_ZONE_COST = 100. |
|
|
|
|
CRASH_DISTANCE = .5 |
|
|
|
|
CRASH_DISTANCE = .25 |
|
|
|
|
LEAD_DANGER_FACTOR = 0.75 |
|
|
|
|
LIMIT_COST = 1e6 |
|
|
|
|
ACADOS_SOLVER_TYPE = 'SQP_RTI' |
|
|
|
@ -49,6 +49,7 @@ MAX_T = 10.0 |
|
|
|
|
T_IDXS_LST = [index_function(idx, max_val=MAX_T, max_idx=N) for idx in range(N+1)] |
|
|
|
|
|
|
|
|
|
T_IDXS = np.array(T_IDXS_LST) |
|
|
|
|
FCW_IDXS = T_IDXS < 5.0 |
|
|
|
|
T_DIFFS = np.diff(T_IDXS, prepend=[0.]) |
|
|
|
|
MIN_ACCEL = -3.5 |
|
|
|
|
MAX_ACCEL = 2.0 |
|
|
|
@ -369,7 +370,7 @@ class LongitudinalMpc: |
|
|
|
|
self.params[:,4] = T_FOLLOW |
|
|
|
|
|
|
|
|
|
self.run() |
|
|
|
|
if (np.any(lead_xv_0[:,0] - self.x_sol[:,0] < CRASH_DISTANCE) and |
|
|
|
|
if (np.any(lead_xv_0[FCW_IDXS,0] - self.x_sol[FCW_IDXS,0] < CRASH_DISTANCE) and |
|
|
|
|
radarstate.leadOne.modelProb > 0.9): |
|
|
|
|
self.crash_cnt += 1 |
|
|
|
|
else: |
|
|
|
|