@@ -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
281292if __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