extrapolate

rivian-increase-torque-debug
Shane Smiskol 2 months ago
parent 71a342377b
commit 2d405ccf43
  1. 15
      selfdrive/debug/max_lat_accel.py

@ -39,6 +39,8 @@ def find_events(lr: LogReader, qlog: bool = False) -> list[Event]:
v_ego = 0 v_ego = 0
roll = 0 roll = 0
CO = None
for msg in lr: for msg in lr:
if msg.which() == 'carControl': if msg.which() == 'carControl':
if start_ts == 0: if start_ts == 0:
@ -48,7 +50,8 @@ def find_events(lr: LogReader, qlog: bool = False) -> list[Event]:
elif msg.which() == 'carOutput': elif msg.which() == 'carOutput':
# if we test with driver torque safety, max torque can be slightly noisy # if we test with driver torque safety, max torque can be slightly noisy
requesting_max = requesting_max + 1 if abs(msg.carOutput.actuatorsOutput.torque) > 0.95 else 0 CO = msg.carOutput
requesting_max = requesting_max + 1 if abs(CO.actuatorsOutput.torque) > 0.6 else 0
elif msg.which() == 'carState': elif msg.which() == 'carState':
steering_unpressed = steering_unpressed + 1 if not msg.carState.steeringPressed else 0 steering_unpressed = steering_unpressed + 1 if not msg.carState.steeringPressed else 0
@ -64,7 +67,10 @@ def find_events(lr: LogReader, qlog: bool = False) -> list[Event]:
# TODO: record max lat accel at the end of the event, need to use the past lat accel as overriding can happen before we detect it # TODO: record max lat accel at the end of the event, need to use the past lat accel as overriding can happen before we detect it
requesting_max = 0 requesting_max = 0
current_lateral_accel = curvature * v_ego ** 2 - roll * EARTH_G factor = 1 / abs(CO.actuatorsOutput.torque)
current_lateral_accel = (curvature * v_ego ** 2 - roll * EARTH_G) * factor
events.append(Event(current_lateral_accel, v_ego, roll, round((msg.logMonoTime - start_ts) * 1e-9, 2))) events.append(Event(current_lateral_accel, v_ego, roll, round((msg.logMonoTime - start_ts) * 1e-9, 2)))
print(events[-1]) print(events[-1])
@ -80,7 +86,12 @@ if __name__ == '__main__':
events = [] events = []
for route in args.route: for route in args.route:
try:
lr = LogReader(route, sort_by_time=True) lr = LogReader(route, sort_by_time=True)
except:
print(f'Skipping {route}')
continue
qlog = route.endswith('/q') qlog = route.endswith('/q')
if qlog: if qlog:
print('WARNING: Treating route as qlog!') print('WARNING: Treating route as qlog!')

Loading…
Cancel
Save