test_models: check consitency between panda and openpilot for velocity (#30750)

* sanity check on velocity

* import from there

* use raw

* just check last

* ignore body

* reduce tolerance and bump panda

* its not average anymore

* slightly higher tolerance
old-commit-hash: 1ca1cf39223557955cee58e18a418914faf472c3
This commit is contained in:
Justin Newberry
2023-12-15 14:50:37 -08:00
committed by GitHub
parent b6bd062d44
commit ffae1ce377
2 changed files with 7 additions and 1 deletions

2
panda

Submodule panda updated: bb75afc84e...7e2b312fa8

View File

@@ -23,6 +23,7 @@ from openpilot.tools.lib.logreader import LogReader
from openpilot.tools.lib.route import Route, SegmentName, RouteName
from panda.tests.libpanda import libpanda_py
from panda.tests.safety.common import VEHICLE_SPEED_FACTOR
EventName = car.CarEvent.EventName
PandaType = log.PandaState.PandaType
@@ -345,6 +346,11 @@ class TestCarModelBase(unittest.TestCase):
checks['brakePressed'] += brake_pressed != self.safety.get_brake_pressed_prev()
checks['regenBraking'] += CS.regenBraking != self.safety.get_regen_braking_prev()
# Verify that panda has the correct velocity for cars that use it (angle based cars)
if self.CP.steerControlType in [car.CarParams.SteerControlType.angle] and not self.CP.notCar:
panda_velocity = self.safety.get_vehicle_speed_last() / VEHICLE_SPEED_FACTOR
checks['vEgo'] += abs(panda_velocity - CS.vEgoRaw) > 0.2
if self.CP.pcmCruise:
# On most pcmCruise cars, openpilot's state is always tied to the PCM's cruise state.
# On Honda Nidec, we always engage on the rising edge of the PCM cruise state, but