max_lat_accel: support multiple routes

pull/34919/head
Shane Smiskol 1 month ago
parent 124c75a94f
commit 715a38fd6a
  1. 18
      selfdrive/debug/max_lat_accel.py

@ -2,6 +2,7 @@
import argparse import argparse
import numpy as np import numpy as np
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
from tqdm import tqdm
from typing import NamedTuple from typing import NamedTuple
from openpilot.tools.lib.logreader import LogReader from openpilot.tools.lib.logreader import LogReader
from openpilot.selfdrive.locationd.models.pose_kf import EARTH_G from openpilot.selfdrive.locationd.models.pose_kf import EARTH_G
@ -75,16 +76,23 @@ if __name__ == '__main__':
parser = argparse.ArgumentParser(description="Find max lateral acceleration events", parser = argparse.ArgumentParser(description="Find max lateral acceleration events",
formatter_class=argparse.ArgumentDefaultsHelpFormatter) formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("route") parser.add_argument("route", nargs='+')
args = parser.parse_args() args = parser.parse_args()
lr = LogReader(args.route, sort_by_time=True) events = []
qlog = args.route.endswith('/q') for route in tqdm(args.route):
try:
lr = LogReader(route, sort_by_time=True)
except:
print(f'Skipping {route}')
continue
qlog = route.endswith('/q')
if qlog: if qlog:
print('WARNING: Treating route as qlog!') print('WARNING: Treating route as qlog!')
print('Finding events...') print('Finding events...')
events = find_events(lr, qlog=qlog) events += find_events(lr, qlog=qlog)
print() print()
print(f'Found {len(events)} events') print(f'Found {len(events)} events')
@ -97,7 +105,7 @@ if __name__ == '__main__':
plt.ion() plt.ion()
plt.clf() plt.clf()
plt.suptitle(f'{CP.carFingerprint} - Max lateral acceleration events') plt.suptitle(f'{CP.carFingerprint} - Max lateral acceleration events')
plt.title(args.route) plt.title(', '.join(args.route))
plt.scatter([ev.speed for ev in events], [ev.lateral_accel for ev in events], label='max lateral accel events') plt.scatter([ev.speed for ev in events], [ev.lateral_accel for ev in events], label='max lateral accel events')
plt.plot([0, 35], [3, 3], c='r', label='ISO 11270 - 3 m/s^2') plt.plot([0, 35], [3, 3], c='r', label='ISO 11270 - 3 m/s^2')

Loading…
Cancel
Save