@@ -50,24 +50,20 @@ def limit_accel_in_turns(v_ego, angle_steers, a_target, CP):
50
50
return [a_target [0 ], min (a_target [1 ], a_x_allowed )]
51
51
52
52
53
- def get_accel_from_plan (CP , speeds , accels ):
53
+ def get_accel_from_plan (speeds , accels , action_t = DT_MDL , vEgoStopping = 0.05 ):
54
54
if len (speeds ) == CONTROL_N :
55
- v_target_now = interp ( DT_MDL , CONTROL_N_T_IDX , speeds )
56
- a_target_now = interp ( DT_MDL , CONTROL_N_T_IDX , accels )
55
+ v_now = speeds [ 0 ]
56
+ a_now = accels [ 0 ]
57
57
58
- v_target = interp (CP .longitudinalActuatorDelay + DT_MDL , CONTROL_N_T_IDX , speeds )
59
- if v_target != v_target_now :
60
- a_target = 2 * (v_target - v_target_now ) / CP .longitudinalActuatorDelay - a_target_now
61
- else :
62
- a_target = a_target_now
63
-
64
- v_target_1sec = interp (CP .longitudinalActuatorDelay + DT_MDL + 1.0 , CONTROL_N_T_IDX , speeds )
58
+ v_target = interp (action_t , CONTROL_N_T_IDX , speeds )
59
+ a_target = 2 * (v_target - v_now ) / (action_t ) - a_now
60
+ v_target_1sec = interp (action_t + 1.0 , CONTROL_N_T_IDX , speeds )
65
61
else :
66
62
v_target = 0.0
67
63
v_target_1sec = 0.0
68
64
a_target = 0.0
69
- should_stop = (v_target < CP . vEgoStopping and
70
- v_target_1sec < CP . vEgoStopping )
65
+ should_stop = (v_target < vEgoStopping and
66
+ v_target_1sec < vEgoStopping )
71
67
return a_target , should_stop
72
68
73
69
@@ -201,7 +197,9 @@ def publish(self, sm, pm):
201
197
longitudinalPlan .longitudinalPlanSource = self .mpc .source
202
198
longitudinalPlan .fcw = self .fcw
203
199
204
- a_target , should_stop = get_accel_from_plan (self .CP , longitudinalPlan .speeds , longitudinalPlan .accels )
200
+ action_t = self .CP .longitudinalActuatorDelay + DT_MDL
201
+ a_target , should_stop = get_accel_from_plan (longitudinalPlan .speeds , longitudinalPlan .accels ,
202
+ action_t = action_t , vEgoStopping = self .CP .vEgoStopping )
205
203
longitudinalPlan .aTarget = a_target
206
204
longitudinalPlan .shouldStop = should_stop
207
205
longitudinalPlan .allowBrake = True
0 commit comments