Skip to content

Commit eee1347

Browse files
authored
longitudinal: add e2e flag to tuning report (#38345)
1 parent d275c65 commit eee1347

1 file changed

Lines changed: 20 additions & 7 deletions

File tree

openpilot/tools/longitudinal_maneuvers/mpc_longitudinal_tuning_report.py

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def get_html_from_results(results, labels, AXIS):
2525
plt.close(fig)
2626
return fig_buffer.getvalue() + '<br/>'
2727

28-
def generate_mpc_tuning_report():
28+
def generate_mpc_tuning_report(e2e=False):
2929
htmls = []
3030

3131
results = {}
@@ -42,6 +42,7 @@ def generate_mpc_tuning_report():
4242
cruise_values=[100, 100],
4343
prob_lead_values=[1.0, 1.0],
4444
breakpoints=[1., 11],
45+
e2e=e2e,
4546
)
4647
valid, results[lead_accel] = man.evaluate()
4748
labels.append(f'{lead_accel} m/s^2 lead acceleration')
@@ -63,6 +64,7 @@ def generate_mpc_tuning_report():
6364
initial_distance_lead=140.,
6465
speed_lead_values=[0.0, 0.],
6566
breakpoints=[0., 30.],
67+
e2e=e2e,
6668
)
6769
valid, results[speed] = man.evaluate()
6870
labels.append(f'{speed} m/s approach speed')
@@ -85,6 +87,7 @@ def generate_mpc_tuning_report():
8587
initial_distance_lead=desired_follow_distance(speed, speed),
8688
speed_lead_values=[speed, speed, speed - oscil, speed + oscil, speed - oscil, speed + oscil, speed - oscil],
8789
breakpoints=[0.,2., 5, 8, 15, 18, 25.],
90+
e2e=e2e,
8891
)
8992
valid, results[oscil] = man.evaluate()
9093
labels.append(f'{oscil} m/s oscillation size')
@@ -112,6 +115,7 @@ def generate_mpc_tuning_report():
112115
initial_distance_lead=desired_follow_distance(speed, speed),
113116
speed_lead_values=lead_speeds,
114117
breakpoints=bps,
118+
e2e=e2e,
115119
)
116120
valid, results[oscil] = man.evaluate()
117121
labels.append(f'{oscil} m/s oscillation size')
@@ -134,6 +138,7 @@ def generate_mpc_tuning_report():
134138
initial_distance_lead=distance,
135139
speed_lead_values=[30.0],
136140
breakpoints=[0.],
141+
e2e=e2e,
137142
)
138143
valid, results[distance] = man.evaluate()
139144
labels.append(f'{distance} m initial distance')
@@ -155,6 +160,7 @@ def generate_mpc_tuning_report():
155160
initial_distance_lead=distance,
156161
speed_lead_values=[20.0],
157162
breakpoints=[0.],
163+
e2e=e2e,
158164
)
159165
valid, results[distance] = man.evaluate()
160166
labels.append(f'{distance} m initial distance')
@@ -177,6 +183,7 @@ def generate_mpc_tuning_report():
177183
initial_distance_lead=60.0,
178184
speed_lead_values=[30.0, 30.0, 0.0],
179185
breakpoints=[0., 5., 5 + stop_time],
186+
e2e=e2e,
180187
)
181188
valid, results[stop_time] = man.evaluate()
182189
labels.append(f'{stop_time} seconds stop time')
@@ -200,6 +207,7 @@ def generate_mpc_tuning_report():
200207
speed_lead_values=[speed, speed, speed],
201208
prob_lead_values=[0.0, 0.0, 1.0],
202209
breakpoints=[0., 5.0, 5.01],
210+
e2e=e2e,
203211
)
204212
valid, results[speed] = man.evaluate()
205213
labels.append(f'{speed} m/s speed')
@@ -222,6 +230,7 @@ def generate_mpc_tuning_report():
222230
speed_lead_values=[0.0, 0.0, speed],
223231
prob_lead_values=[1.0, 1.0, 1.0],
224232
breakpoints=[0., 1.0, speed/2],
233+
e2e=e2e,
225234
)
226235
valid, results[speed] = man.evaluate()
227236
labels.append(f'{speed} m/s speed')
@@ -245,6 +254,7 @@ def generate_mpc_tuning_report():
245254
cruise_values=[0.0, speed],
246255
prob_lead_values=[0.0, 0.0],
247256
breakpoints=[1., 1.01],
257+
e2e=e2e,
248258
)
249259
valid, results[speed] = man.evaluate()
250260
labels.append(f'{speed} m/s speed')
@@ -268,6 +278,7 @@ def generate_mpc_tuning_report():
268278
cruise_values=[speed, 10.0],
269279
prob_lead_values=[0.0, 0.0],
270280
breakpoints=[1., 1.01],
281+
e2e=e2e,
271282
)
272283
valid, results[speed] = man.evaluate()
273284
labels.append(f'{speed} m/s speed')
@@ -279,12 +290,14 @@ def generate_mpc_tuning_report():
279290
return htmls
280291

281292
if __name__ == '__main__':
282-
htmls = generate_mpc_tuning_report()
283-
284-
if len(sys.argv) < 2:
285-
file_name = 'long_mpc_tune_report.html'
286-
else:
287-
file_name = sys.argv[1]
293+
e2e = '--e2e' in sys.argv
294+
file_name = 'long_mpc_tune_report.html'
295+
for arg in sys.argv[1:]:
296+
if not arg.startswith('-'):
297+
file_name = arg
298+
break
299+
300+
htmls = generate_mpc_tuning_report(e2e=e2e)
288301

289302
with open(file_name, 'w') as f:
290303
f.write(markdown.markdown('# MPC longitudinal tuning report'))

0 commit comments

Comments
 (0)