Files
StarPilot/selfdrive/test/process_replay
Jason Young eb3d572add VW MQB: Fahrzeuglängsbeschleunigungssteuerungseinrichtung (#22963)
* can I kick it?

* bumpity bump bump

* bump panda

* everybody's gotta be special

* attempt at improving stopping/starting

* reduce lateral feedforward

* tweak gradient and comfort bands

* oops

* accel from the dept of redundancy dept

* bump opendbc

* jerk limiter not needed and causing problems

* don't leave stop/start flags hung when not enabled

* reduce comfort band with lead car

* borrow decel comp from HKG

* align stopping state thresholds

* (re)try letting PI clean up some of this

* bump panda

* tweaks and comments

* elide superfluous import

* VW MQB: Longitudinal prereqs

* gate this too

* bump CI

* cleanup

* more cleanup; require gateway integration

* don't run long state/actuators unless sending message

* setpoint visibility in instrument cluster

* show fixed lead car if lead visible

* hold my beer?

* tuning

* the code is darkest before the refactor

* a little more

* set freewheel and stop distance correctly

* rounding issue maybe?

* ACC_04 Charisma profiles and HUD alerts

* fix ACC_04 counter, fix gradient and accel bugs

* revert tuning change in upstream focused branch

* need 0.5m/s to leave

* reduced braking when not absolutely needed

* oops

* bump panda

* match opendbc to master

* filter ACC_13, disable secondary accel

* bump panda

* bump panda

* bump opendbc and panda

* startAccel is deprecated

* testing manual trans min engage speeds

* pass stock ACC type to TSK

* bump panda

* bump opendbc

* bump opendbc

* test hax for Brake alert

* remove ACC_13 with matching panda bump

* fix submodule refs

* update long control safety param name

* bump panda

* actuator delay corrected by Mk1 eyeball

* a little more

* tweak stop/start thresholds

* Revert "tweak stop/start thresholds"

This reverts commit 60abd57d2025c3218f069dbec4600c8d14033c05.

* more lag reduction

* bump opendbc

* support both analog and digital clusters

* tuning adjustments

* bump opendbc and panda

* accept two button types for resume

* support separate set and resume

* bump panda

* #24706

* partial revert 6b93ac27

* fixes

* one more

* refactor all the things

* follow experimental long refactor

* fill in ACC hud status

* temp force E2E availability

* start cleaning up

* comment touchup

* gimme some comfort baby

* experiment

* SnG me maybe?

* a little more rollout

* is this why I'm not leaving?

* turns out you need startAccel to leave

* try without ACC_04

* cleanup unused variables

* temp hack to standstill handling

* temp hack to button handling

* trim rollout distance with slower vEgoStopping

* ultra fat comfort band due to noisy E2E actuator

* I like big changes and I cannot lie

* remove lead car display for now

* cleanup, drives somewhat better

* partial FtS/basic support

* diff reduction

* not needed

* more cleanup

* oops

* more cleanup

* restore lead car visible for PQ

* bump panda

* better enable button solution

* redundant

* OP long on *all* the things

* OP long on all the things *sometimes*

* docs generator a little TOO clever

* solve starting-state a different way

* try that again

* bump panda

* oops

* follow DBC refactor

* retry CI

* signal name changed

* sync with custom enable button branch

* oops

* more follow refactor

* bump panda

* sync opendbc to master

* bump panda

* updated comments

* light P, no I

* bump panda

* bump panda again

* add openpilot long test_models route

* bump panda with replay route

* temporarily disable experimental long for merge

* bump panda to master

* resolve conflict?

* now can we go to head?

* explicit length check

* update refs

Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: b31b0310444e83dc8e151767f57ee21f46f1515b
2022-11-01 10:00:26 -07:00
..
2020-01-17 11:16:14 -08:00
2022-10-05 21:43:38 -07:00
2022-10-20 20:58:58 -07:00
2022-09-19 15:19:26 -07:00
2021-05-06 19:27:58 +02:00

Process replay

Process replay is a regression test designed to identify any changes in the output of a process. This test replays a segment through individual processes and compares the output to a known good replay. Each make is represented in the test with a segment.

If the test fails, make sure that you didn't unintentionally change anything. If there are intentional changes, the reference logs will be updated.

Use test_processes.py to run the test locally. Use FILEREADER_CACHE='1' test_processes.py to cache log files.

Currently the following processes are tested:

  • controlsd
  • radard
  • plannerd
  • calibrationd
  • dmonitoringd
  • locationd
  • laikad
  • paramsd
  • ubloxd

Usage

Usage: test_processes.py [-h] [--whitelist-procs PROCS] [--whitelist-cars CARS] [--blacklist-procs PROCS]
                         [--blacklist-cars CARS] [--ignore-fields FIELDS] [--ignore-msgs MSGS] [--update-refs] [--upload-only]
Regression test to identify changes in a process's output
optional arguments:
  -h, --help            show this help message and exit
  --whitelist-procs PROCS               Whitelist given processes from the test (e.g. controlsd)
  --whitelist-cars WHITELIST_CARS       Whitelist given cars from the test (e.g. HONDA)
  --blacklist-procs BLACKLIST_PROCS     Blacklist given processes from the test (e.g. controlsd)
  --blacklist-cars BLACKLIST_CARS       Blacklist given cars from the test (e.g. HONDA)
  --ignore-fields IGNORE_FIELDS         Extra fields or msgs to ignore (e.g. carState.events)
  --ignore-msgs IGNORE_MSGS             Msgs to ignore (e.g. carEvents)
  --update-refs                         Updates reference logs using current commit
  --upload-only                         Skips testing processes and uploads logs from previous test run

Forks

openpilot forks can use this test with their own reference logs, by default test_proccess.py saves logs locally.

To generate new logs:

./test_processes.py

Then, check in the new logs using git-lfs. Make sure to also update the ref_commit file to the current commit.