Commit Graph

66 Commits

Author SHA1 Message Date
Harald Schäfer
ca699e3989 radard: no clustering (#29010)
* First commit

* cleanup

* Update ref

* Doesnt deserve two files

* cleanup radard
2023-07-19 20:31:40 -07:00
Harald Schäfer
eb8bdc0026 MPC path in UI (#27380)
* 10s lat

* Full length MPC

* redfine N

* Leave controls the same for now

* Updates

* use long plan in lat plan

* interp plan

* simplergit add selfdrive/controls/plannerd.py selfdrive/controls/

* expand to 10s

* revert this

* fix linter

* vizualize

* fix long test

* typo

* cleanup

* compiles

* unused

* unused

* bump cereal

* bump cereal

* use model if no uiplanm

* update replay

* update ref commit

* bump cereal to master
2023-02-17 19:58:30 -08:00
Shane Smiskol
b00bc4f57e Car interface: require fingerprint and FW versions to get params (#26932)
* require fingerprint and FW versions

* add get_non_essential_params()

* comment

* all required

* classmethod, need to allow subclasses to override _get_params

* fix that

* fix

* fix

* wrong fix 🤦
2023-01-12 12:25:24 -08:00
Adeeb Shihadeh
f14deae475 Revert "Car interface: require fingerprint and FW versions to get params (#26766)"
This reverts commit b68dabb689.
2023-01-12 11:28:04 -08:00
Shane Smiskol
b68dabb689 Car interface: require fingerprint and FW versions to get params (#26766)
* require fingerprint and FW versions

* add get_non_essential_params()

* comment

* all required

* classmethod, need to allow subclasses to override _get_params

* fix that

* fix
2023-01-11 23:44:50 -08:00
Shane Smiskol
b45dda2d0a Longitudinal tests: test forceDecel (#26765)
* test with forceDecel

* test all combos

* fix

* fix

* fix

* ...

* remove print

* clean up

* just set cruise to 0

* update ref commit

Co-authored-by: Bruce Wayne <harald.the.engineer@gmail.com>
2023-01-10 14:46:43 -08:00
Shane Smiskol
9ea72b6550 Longitudinal tests: clean up (#26708)
* refactor test_cruise_speed.py

* clean up long tests

* and here
2022-12-05 17:34:57 -08:00
Shane Smiskol
be0c2dbbf9 Longitudinal planner: fix tests (#26707)
fix tests
2022-12-05 15:23:00 -08:00
Shane Smiskol
9f80a97eee longitudinal tests: add disabled maneuver (#26470)
* undeclared variable

* run first second disabled

* only test

* test disabled as a new maneuver

* bottom
2022-11-11 14:02:09 -08:00
Adeeb Shihadeh
9a3f468051 experimental mode (#26416)
* experimental mode

* rename param

* red lights
2022-11-08 14:45:01 -08:00
HaraldSchafer
1007df874f Minor ACC fixes (#25911)
* Change cruise accel limits

* Long tuning script looks good

* Cap cruise slowdown aggression in e2e mode

* Revert atau change

* Cleanup

* Update ref

* fix ref
2022-09-28 13:27:07 -07:00
HaraldSchafer
7899fb79c1 More conservative lead policy in e2e long mode (#25684)
* Add params for lead and danger

* fix long params

* E2e passes simple maneuver tests

* Make tests run with e2e long mode

* Slightly more error allowed in e2e mode

* FCW back and populate long source field

* Fix planner name

* FCW still doesnt work

* Slightly less aggressive

* Doesn't need to simulate from stop
2022-09-06 21:52:34 -07:00
HaraldSchafer
e1b7a37a1f Support e2e long in longitudinal planner (#25636)
* refactor

* Add planer modes to support offline, acc, and blended

* add acceleration

* Fix index

* Update model ref

* Read in model outputs

* Add model msg

* Add e2e logic

* Add source
2022-09-01 15:40:25 -07:00
Shane Smiskol
fd2de54172 Stock longitudinal: spam resume button when lead starts moving (#24873)
* always log leads, we hide them in ui

* only spam resume when future is > vEgoStarting

* do rest but vw

* vw

* remove comments

* rename to resume

* maintain original button msg rate

* mazda: ensure no resume if cancelling

* same for non-HDA2

* Always run planner if not opLong

* try 0.2

* 0.1 should be pretty safe

* add test for resuming

* fix test

* stricter test, speeds[-1] is 0.14 when starting here

* no walrus

* fixup mazda cc

* remove extra import
2022-07-07 00:24:03 -07:00
Jonathan Frey
d09dffb7cd Cython acados and minor (#23835)
* acados_ocp_solver_pyx.pyx: implement get_stats for timings and ints

* long_mpc: use acados timers

* acados_ocp_solver_pyx.pyx: fix dynamics_get

* acados_ocp_solver_pyx.pyx: get statistics

* use acados_ocp_solver_pyx.pyx from commaai/cython2 branch

* acados_ocp_solver_pyx.pyx: implement store_iterate

* acados_ocp_solver_pyx.pyx: implement get_residuals

* acados_ocp_solver_pyx.pyx: fix set() for empty fields

* acados_ocp_solver_pyx.pyx: load_iterate

* cython acados: add print_statistics

* test_following_distance: fix typo

* test_longitudinal: unique names for test maneuvers

* longitudinal MPC: comments for evaluation

* longitudinal MPC: add comments to eval acados residuals

* long_mpc: use qp_solver_cond_N = 1

* long MPC: comments, simplify set_cur_state

* update acados version in build script

* longitudinal mpc: weigh a_change in 1 place only

* update ref

* Update ref

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
2022-02-25 14:16:44 -08:00
Willem Melching
428d412c1f longitudinal planner: disable change cost when stopped. not engaged or gas pressed (#23639)
* disable change cost completely on standstill and gas press

* cleanup

* set accel to zero

* clean up logic around standstill

* update ref
2022-02-21 16:14:41 +01:00
Adeeb Shihadeh
3e9cb7fa12 remove community features toggle (#23214)
* remove community features toggle

* bump cereal

* little more

* update refs
2022-01-24 14:49:47 -08:00
Shane Smiskol
9f88ba188a Longitudinal planner: make v_desired a FirstOrderFilter (#23341)
* make v_desired a FirstOrderFilter

* forgot one

* one more ref

* Add a new object for the filter

* fix

* fix tests

* update ref

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2022-01-04 12:17:33 +01:00
Shane Smiskol
93fd662adf Clean up planner files (#23031)
* clean up planner files

clean up planner files

* fix plant instance
2021-11-26 14:57:39 +01:00
HaraldSchafer
b3b45c8d29 Add cost to long plan change for smoother lag comp (#22923)
* add plan changing cost

* fix compile

* set weights

* try this cost

* horizon problem

* looks pretty good

* update refs

* update refs

* smoother plan changes
2021-11-16 17:57:55 -08:00
HaraldSchafer
04cf12cb00 ACADOS fix non-convergence when long_plan changes (#22495)
* debug commit

* cleanup

* some indexing bugs

* need more its

* BALANCE is way better it seems

* fix test

* this converges in 2000segs

* new ref

* less cpu
2021-10-10 00:05:29 -07:00
HaraldSchafer
9ab09f5ae9 Retune long mpc (#22445)
* first try

* looks decent

* finalize retune

* back to 3 its

* may need 4 still

* misc cleanup

* new ref

* SPEEEED

* new ref
2021-10-06 09:37:53 -07:00
HaraldSchafer
fe983a7b8c acados long merged (#22224)
* rebased

* cleaner, seems to drive better?

* more stable

* wrong import

* new way of thinking

* reports look nice

* start move back

* works at leas

* good timestamps

* step by step

* somewhat work

* tests pass

* ALL CARS STOPPED

* should work

* fake a cruise obstacle

* cleaner costs

* pretty good except cruise braking

* works pretty well now!

* cleanup

* add source

* add source

* that is needed for unit tests

* nan recovery

* little cleaner

* stop wasting arrays

* unreasonable without unfair init

* this isnt needed without the exponential

* that works too

* unused

* uses less

* new ref

* long enough

* e2e long api

* DONT PUT IN A VIEW INTO ACADOS

* new ref for outside weights

* remove debug prints
2021-09-27 19:48:28 -07:00
HaraldSchafer
fcda55fbf1 Fix cruise MPC convergence bug and add test (#22295)
* fix tests

* fix cruise convergence bug

* update refs

* Update selfdrive/controls/tests/test_cruise_speed.py

Co-authored-by: Willem Melching <willem.melching@gmail.com>

* Update selfdrive/controls/tests/test_cruise_speed.py

* add msgh

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-09-21 12:19:05 -07:00
HaraldSchafer
cc6af379ce various cleanup (#22289) 2021-09-20 16:26:10 -07:00
HaraldSchafer
f0be9a57ac Dont run plannerd for long tests (#22260) 2021-09-16 20:45:13 -07:00
HaraldSchafer
2c04176b5f Add stopping for stopped car tests (#22250)
* add stopping for stopped car tests

* too extreme
2021-09-16 20:05:09 -07:00
HaraldSchafer
9e8d99b530 Extra longitudinal unit tests (#21601)
* linter needs this

* unit test radar override
2021-07-14 12:38:47 -07:00
HaraldSchafer
be5ddd25cd Refactor long (#21433)
* refactor

* needs casting

* tests pass

* fix that test

* refactor in controls

* lets not go crazy

* change of names

* use constants

* better naming

* renamed

* soft constraints

* compile slack variables

* rm git conflict

* add slack variables

* unused

* new edition

* fcw

* fix tests

* dividing causes problems

* was way too slow

* take a step back

* byeeee

* for another time

* bad idxs

* little more cpu for cruise mpc

* update refs

* these limits seem fine

* rename

* test model timings fails sometimes

* add default

* save some cpu

* Revert "little more cpu for cruise mpc"

This reverts commit f0a8163ec90e8dc1eabb3c4a4268ad330d23374d.

* Revert "test model timings fails sometimes"

This reverts commit d259d845710ed2cbeb28b383e2600476527d4838.

* update refs

* less cpu

* Revert "Revert "test model timings fails sometimes""

This reverts commit e0263050d9929bfc7ee70c9788234541a4a8461c.

* Revert "less cpu"

This reverts commit 679007472bc2013e7fafb7b17de7a43d6f82359a.

* cleanup

* not too much until we clean up mpc

* more cost on jerk

* change ref

* add todo

* new ref

* indentation
2021-07-07 19:42:26 -07:00
HaraldSchafer
234971203b Simplify longitudinal tests (#21337)
* first pass

* passes!

* little more cleanup

* little more

* fix sim

* remove more plot stuff

* fix crash check

* fcw

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-06-24 21:03:18 -07:00
Josh Smith
77321dbac4 Add type hints, small cleanups (#21080)
* improve tools.lib.kbhit and tools.sim.lib.keyboard_ctrl

* unpack more efficiently

* minor improvements

* agnos.py match spec better

* manual_ctrl test missing queue arg

* fix incorrect type annotation

* queues are generic

* varname reuse resulting in incorrect type inference

* bytes().hex() rather than bytes.hex(bytes())

* a bit of type hinting stuff
2021-06-03 12:21:04 +02:00
Adeeb Shihadeh
6c7ed8f2e4 enforce message checks in can parser (#20742)
* enforce message checks in can parser

* nissan

* vw

* hkg

* subaru

* toyota

* honda bosch

* gm

* honda nidec

* bump opendbc

* not all tss2 have bsm

* toyota fixes

* honda fixes

* vw fix

* fix subaru

* fix long tests

* update refs

* crv bsm
2021-04-25 12:52:16 -07:00
Willem Melching
ae094042ad add putBool/getBool wrappers to cython params class (#20611)
* add putBool/getBool wrappers to cython class

* use new API

* some more puts

* fix mockparams arguments

* add get_bool to MockParams

* typo
2021-04-07 15:36:37 +02:00
Willem Melching
5a3b511306 Manager cleanup (#20231)
* move manager in folder

* inital refactor

* call start

* small cleanup

* add comments

* use self.signal()

* order shouldnt matter

* newlines

* add helpers

* newlines

* add process config

* split out build part of manager

* this should fix most tests

* no sensord on pc

* dont start athena

* remove comment

* fix old athena test

* fix inject model

* fix test car models

* should be not none

* fix helpers exitcode

* ignore manage_athenad

* Use time.monotonic()

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* combine init, remove spinner

* move manager test

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-03-05 11:03:23 +01:00
Adeeb Shihadeh
f28673e8b5 fix apk after cereal cleanup (#20098)
* actually a percent

* update apk

* update refs
2021-02-19 12:19:29 -08:00
Adeeb Shihadeh
312b681a46 cereal cleanup part 2 (#20092)
* car stuff

* thermal

* Revert "car stuff"

This reverts commit 77fd1c65ebd01abfa8493ae12c9e6b14f7ada976.

* panda state

* camera stuff

* start deg

* most is building

* builds

* planner + controls run

* fix up paramsd

* cleanup

* process replay passes

* fix webcam build

* camerad

* no more frame

* thermald

* ui

* paramsd

* camera replay

* fix long tests

* fix camerad tests

* maxSteeringAngle

* bump cereal

* more frame

* cereal master
2021-02-16 21:39:32 -08:00
Adeeb Shihadeh
000bd226aa Cereal cleanup (#20003)
* start cleanup

* fan speed

* cleanup dm

* fix cereal

* hwType -> pandaType

* update refs

* update refs

* bump cereal

* freeSpacePercent

* cereal master
2021-02-03 19:57:30 -08:00
HaraldSchafer
124100d0fa remove old model packet (#19769)
* remove publisher

* move to V2

* radard new model

* fix plant

* change packety

* need hack here too

* change to new

* this has been wrong all along

* no more model msg

* subscribe to new model

* not needed anymore

* make work

* need to ignore that too

* should pass tests, needs car test

* fix process replay

* no more poly

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-01-19 17:15:16 -08:00
Harald Schafer
61b7527b95 fix tests 2021-01-14 21:46:01 -08:00
HaraldSchafer
158210cde8 Mpc rework2 (#19660)
* start again

* need that too

* this actually works

* not needed

* do properly

* still works

* still works

* still good

* all G without ll

* still works

* all still good

* cleanup building

* cleanup sconscript

* new lane planner

* how on earth is this silent too....

* update

* add rotation radius

* update

* pathplanner first pass

* misc fixes

* fix

* need deep_interp

* local again

* fix

* fix test

* very old

* new replay

* interp properly

* correct length

* another horrible silent bug

* like master

* fix that

* do doubles

* different delay compensation

* make robust to empty msg

* make pass with hack for now

* add some extra

* update ref for increased leg

* test cpu usage on this pr

* tiny bit faster

* purge numpy

* update ref

* not needed

* ready for merge

* try again after recompile

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-01-14 18:43:50 -08:00
Adeeb Shihadeh
40830a216b fix camera malfunction alert (#19757)
* fix camera alert malfunction

* remove old alert
2021-01-14 16:03:16 -08:00
Adeeb Shihadeh
c114316d94 GPS malfunction alert (#19756)
* GPS malfunction alert

* fix process replay

* fix long tests

* fix long tests again
2021-01-14 14:45:10 -08:00
Adeeb Shihadeh
59d7c5e64a move to github container registry + CI speedup (#19621) 2020-12-31 14:57:01 -08:00
ZwX1616
d8fea41b2a use enabled flag from controlsState instead of carState (#2518)
* use enabled from controls instead of carstate

* update process replay

* rm

* fix long test

* update reff

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2020-11-12 17:30:33 -08:00
Adeeb Shihadeh
89d02dcf97 check for safety mode mismatch (#2443) 2020-11-04 11:12:15 -08:00
Adeeb Shihadeh
47c21f10f5 grey panda is unsupported (#2458) 2020-11-03 19:56:25 -08:00
Adeeb Shihadeh
88b956528e camera malfunction alert (#2391)
* camera malfunction alert

* bump cereal

* fix process replay

* ugh, needs refactor
2020-10-22 16:28:54 -07:00
qadmus
cba53957bd Fix grade force in test_long plant (#2225)
Co-authored-by: user <email@web.com>
2020-09-28 11:54:48 +02:00
ZwX1616
3aa99a01d7 recover EON/C2 AF (#1665) 2020-06-23 14:33:32 -07:00
Adeeb
367155168a Update Flake8 config (#1624)
* update flake8 checks

* add E502

* no whitespace warnings

* fix violations

* no W391

Co-authored-by: Jason Young <jason@comma.ai>
2020-06-03 16:13:34 -07:00