Commit Graph

67 Commits

Author SHA1 Message Date
YassineYousfi d18f185115 modeld: parsing and publishing in python (#30273)
* WIP try modeld all in python

* fix plan

* add lane lines stds

* fix lane lines prob

* add lead prob

* add meta

* simplify plan parsing

* add hard brake pred

* add confidence

* fix desire state and desire pred

* check this file for now

* rm prints

* rm debug

* add todos

* add plan_t_idxs

* same as cpp

* removed cython

* add wfd width - rm cpp code

* add new files rm old files

* get metadata at compile time

* forgot this file

* now uses more CPU

* not used

* update readme

* lint

* copy this too

* simplify disengage probs

* update model replay ref commit

* update again

* confidence: remove if statemens

* use publish_state.enqueue

* Revert "use publish_state.enqueue"

This reverts commit d8807c8348338a1f773a8de00fd796abb8181404.

* confidence: better shape defs

* use ModelConstants class

* fix confidence

* Parser

* slightly more power too

* no inline ifs :(

* confidence: just use if statements
old-commit-hash: cad17b125595c4654bfd8299b041b94ccb3faf73
2023-10-19 14:23:51 -07:00
Adeeb Shihadeh 16ec56398c add openpilot prefix to imports (#29498)
* add openpilot prefix to imports

* more

* more

* fix docs

* fix linter

* bump submodules

* fix patched tests

* update dynamic imports

* debug

* Revert "debug"

This reverts commit db5e13b9911cc74438bee123bc3430da6c31b24b.

* fix pm test
old-commit-hash: a9626f95b69af19306143fc4def02fb5769405d2
2023-08-20 20:49:55 -07:00
Justin Newberry 7b677910df Linter: Fix >160 line length test (#29287)
* test

* fix line length

* fix line length

* fix file size

* revert poetry

* cleanup for PR
old-commit-hash: cf64b27168614f851087adab2d7f766425922f64
2023-08-08 17:13:35 -07:00
Shane Smiskol f9c6c9e8c3 Revert "experimental mode: gate navigate on openpilot (#28883)" (#29005)
This reverts commit 929880496515e3f995634e561145802bf15a60ea.
old-commit-hash: b5b431c12d54aaa115f9750da6d49e62a6d31778
2023-07-17 19:56:38 -07:00
Shane Smiskol 296de39f48 experimental mode: gate navigate on openpilot (#28883)
* first draft copy, needs updates

* gate behind exp mode

* can be one line

* this is no longer true

* toggle isn't just e2e long now, rename

* don't enable/disable

* kinda works!

* remove old giant qstring

* comment clean up

* similar breakpoint

* more clean up

* fixup onroad

* preserve planner behavior, and we don't need to look at confirmed param if we're onroad

* update translations

* vanish translations

* use scene for op long

* lowercase!

* updated copy

* need to check longitudinal here now too

* clean up!

* here is better

* used

* no nav emoji

* don't check param if not valid

* revert this

revert this

* ed
old-commit-hash: f973d605b2121a575a46f4a18dfcbb2df1f4816b
2023-07-14 05:26:59 -07:00
Vivek Aithal 4be83d0d57 Lateral Planner: Calibrate model speed with vEgo (#28049)
* calibrate speed in the lateral planner

* make speed err helper fn

* check if trans has values

* clip the vel_err

* update refs
old-commit-hash: a599890feda4fd57bed1bfff947d7092198fd0b7
2023-05-09 14:26:58 -07:00
Vivek Aithal b6909a65e7 Bolt EUV: Non-linear torque function (#27696)
* add erf based ff

* silly bug; diff of nonlinear != nonlinear of diff

* add sigmoid based ff, ensure slope at 0 > 1

* reduce steer down limit and increase driver allowance

* rebase panda

* atry without friction, and with tanh nonlinear

* finalize the nonlinear function

* do not disable friction compensation in the ff

* bump panda

* bump panda

* update refs

* update refs

* resolve comments

* Add type hints

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 15b880c0ea6fb306e916a2ec015b5f03cec22b20
2023-03-29 15:10:39 -07:00
Harald Schäfer 73561f01e0 Expand lateral MPC to 10s (#27343)
* 10s lat

* Full length MPC

* redfine N

* Leave controls the same for now

* Updates

* use long plan in lat plan

* interp plan

* add new interp

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

* expand to 10s

* revert this

* fix linter

* Update sconscripts

* fix test

* fix test

* fix test

* Revert "Update sconscripts"

This reverts commit 6e23c69dcebd5ed003e37e01921f6af7c31de0db.

* Dont import drive helpers

* better compile deps

* fix compile

* comment

* update replay

* Update plannerd time
old-commit-hash: 04fe6c4ec72dfcf89456a484d03f85502c237701
2023-02-17 15:28:26 -08:00
Adeeb Shihadeh bc61a6b1fd controlsd: higher default set speed in experimental mode (#27279)
* controlsd: higher default set speed in experimental mode

* update tests

* update tests
old-commit-hash: 5ab2d35f7b7d1f224b531e245db7e35925da5e33
2023-02-09 19:27:51 -08:00
Vivek Aithal 238e63bc2a [controlsd] Refactor apply_deadzone in Lateral Torque Control (#26626)
rename apply_slack to apply_center_deadzone, remove unused prius offline values
old-commit-hash: 3a4f19f0ee454a9c8d7c55d66e794ef20c4b4f01
2022-11-29 12:46:08 -08:00
Vivek Aithal 5bc529bf20 [controlsd] Toyota Prius 2017 (#26455)
* increase lag on prius

* better offline values computation

* split prius ecu more, set deadzone to 0

* add deadzone back

* replace deadzone with slack

* reduce deadzone to 0.2

* update refs
old-commit-hash: 0706b03e8cf41f7d51c9a42f01bda2084bfe3be6
2022-11-29 10:47:13 -08:00
Shane Smiskol b94dfd81c6 controlsd: add test around cruise speed gas pressed behavior (#26486)
* test

* test

* debug

* test

* test

* test

* clean up

* clean up

* add test

* stash

* clean up

* clean up

* clean up

* assert equal
old-commit-hash: 23a7a987f6ab75ebee4dd856ba0a0c179b2f90b0
2022-11-21 17:05:13 -08:00
Shane Smiskol 270fe5aac3 controlsd cruise speed: fix missing initial value
old-commit-hash: f15d169289c0d806a49af123678bd49b8b3ba4f1
2022-11-14 11:01:01 -08:00
Shane Smiskol a0539910bf controlsd: no speed increment if enabled on button rising edge (#26490)
* don't increment speed if we enabled on rising edge

* more realistic test
old-commit-hash: e46063086f079eff6292a32ae9aeeafa3aa523a3
2022-11-13 16:34:26 -08:00
Shane Smiskol 0f3aeb531c controlsd: clean up v_cruise updating (#26479)
* clean up

* clean up

* clean up
old-commit-hash: 870b79818566ab91159d23f1197183f3e6567608
2022-11-11 23:56:35 -08:00
Shane Smiskol dd6f16fcfd controlsd v_cruise: fix unknown buttons (#26474)
Fix button being None
old-commit-hash: d3f971b365613329a35a3140b9418977baebd856
2022-11-11 20:10:12 -08:00
Shane Smiskol 0371e47fac controlsd: resume does not increment speed while cruise standstill (#25470)
* fix runaway set speed for GM

* fix runaway set speed for GM

* Handle resuming to exit standstill generically

* clean that up

* ugh i want to fix all the formatting

* class that manages v_cruise

* better name

* move around

* add depressed_state

* fine to update on pressed change, better name

* cmt

* we need to check CS. button_change_state only works if we exit standstill on rising edge not falling edge

* no defaultdict
old-commit-hash: 76ac3d4c99df24f068aee3baedb796f65dfcca66
2022-11-11 19:43:30 -08:00
Shane Smiskol a7828e1ae3 controlsd: add cruise speed helper class (#26472)
* fix runaway set speed for GM

* fix runaway set speed for GM

* Handle resuming to exit standstill generically

* clean that up

* ugh i want to fix all the formatting

* class that manages v_cruise

* better name

* move around

* add depressed_state

* fine to update on pressed change, better name

* revert gm stuff

* revert standstill stuff

* remove

* revert that

* we can put this in here now!

* below update

* actually only used here

* one line
old-commit-hash: 811c096e6454dc2bbdd1e15a08952979c3fb7be1
2022-11-11 18:53:48 -08:00
HaraldSchafer 3b62f66008 Use same minimum speed for lateral planning and controls (#26177)
* Use same speed for lag adjustmenet

* One is a nicer number

* Update ref
old-commit-hash: 4f84b2998579a630e1577e60dd1d30d23261cd28
2022-10-20 14:34:36 -07:00
HaraldSchafer a8ec6f4cfd Rocket Launcher Model (#25963)
* 1456d261-d232-4654-8885-4d9fde883894/440 6b7d7cec-ead8-40f3-86cc-86d52c9b03fe/300

* compute only 9 tokens: 1456d261-d232-4654-8885-4d9fde883894/440 6b7d7cec-ead8-40f3-86cc-86d52c9b03fe/300

* tinygrad: cleanup gather

* 1456d261-d232-4654-8885-4d9fde883894/440 6b7d7cec-ead8-40f3-86cc-86d52c9b03fe/700

* empty commit for tests

* bump tinygrad

* dont use tinygrad matmul for now

* bump tinygrad

* 1456d261-d232-4654-8885-4d9fde883894/440 e63ab895-2222-4abd-a9a5-af86bb70e260/700

* float16 1456d261-d232-4654-8885-4d9fde883894/440 e63ab895-2222-4abd-a9a5-af86bb70e260/700

* increase steer rate cost

* Revert "increase steer rate cost"

This reverts commit 74ce9ab9be7ef17ecfec931f96851b12f37f2336.

* fork tinygrad

* empty commit for tests

* basics

* Kinda works

* new lat

* new tuning

* Move LATMPCN so scons compiles

* Update long weights

* Add tinygrad optim

* Update model ref

* update weights

* Update ref

* Try

* Error message for field ignore

* update model regf

* ref commit

* Fix onnx test

Co-authored-by: Yassine Yousfi <yyousfi1@binghamton.edu>
old-commit-hash: cb0b7375b728d1b6e92db68c9ba55f0f54c09a3f
2022-10-05 21:43:38 -07:00
Lee Jong Mun f6700cb7ba remove blank whitespace (#25921)
old-commit-hash: 7df0e3efcfd2926405f5eaa872d03a652f9c66f9
2022-09-29 13:52:41 -07:00
Shane Smiskol 2bd8ee0974 controls: block resume if cruise not previously engaged (#25402)
* see if this works at all

* can revert this

* think adding a no entry conditionally is nicer

* then we can revert this

* 0 makes more sense

* Revert "0 makes more sense"

This reverts commit efc89e8a2389ef58fbc0cec0a2872d24db524867.

* gm CC uses > 70

* bump cereal

* comment

* test on Honda

* whoops

* works

* add exception with todo

* moved button enable events to controlsd

* get rid of that

get rid of that

* different values for now

* car interfaces add enable event, controlsd can block it

* Regen and update refs

* delete if not set

* One place

one place

* regen routes are uninitialized first few frames

* Trim start of segment so it's like original segment

* stash

* regen

* not working

* clean up

* more cleanup

* revert

* bump ceral

* actually check resume button

* whoops

* pcmCruise cars don't use setSpeed, so we're good

* engage correctly in sim

* Update ref_commit

* Update refs
old-commit-hash: 5ed587ebeff24bacf70c44879616c51756730bba
2022-08-17 18:03:33 -07:00
grekiki cc0ba78b69 More accurate jerk limits (#24755)
* More accurate jerk limits

* Min is not - max

For example max_curvature_rate can be negative.

* reduce diff
old-commit-hash: b941b39c56db2d9d7f756cb0949ef6a7cf61774a
2022-06-16 10:47:53 -07:00
HaraldSchafer bc679f735d Misc torque control fixes (#24801)
* Fiction compensation should be based on error

* Update refs

* Add deadzone

* update ref
old-commit-hash: 843e59f6f0be33e6c51a35ef8912f5b7c4b58ca5
2022-06-10 22:52:48 -07:00
ClockeNessMnstr 52a28d8938 update DH names + notes for MPC output curvatures (#24701)
* update names + notes for MPC outputs

"current_curvature" is not the correct description of what the MPC is outputting in it's curvature_ego state.
The MPC is integrating it's free variable, curvature_rate, such that curvature[0] is actually the desired_curvature before any delay.
inversely: the curvature_rate_desired is the desired rate of change to the setpoint and not the actual curvature rate. 

If we were to set the initial curvature = measured curvature in the MPC initiation these names would be correct. 
This was possibly how it was initially set up but the nomenclature here is now confusing.

* more notes

* match

* Clarify #1
old-commit-hash: b215d611b1adf5ea2b93e6628936f2e73539f34f
2022-06-07 09:41:03 -07:00
Shane Smiskol 56a44d41f8 controls: pressing set while gas pressed resets to vEgo (#24100)
* set while gas pressed to resume

* better order

* what was I thinking?

* Update selfdrive/controls/lib/drive_helpers.py

Co-authored-by: Gijs Koning <gijs-koning@live.nl>

* Update selfdrive/controls/lib/drive_helpers.py

Co-authored-by: Gijs Koning <gijs-koning@live.nl>

* only if under set speed

* some clean up and ciel the v_cruise_kph

* clean up

* actually floor

* Should be cruise min

* On phone, will clean up

* Think no floor is fine

* clean up and catch setCruise

* update comment and just always do rounding and clipping

update comment

* flip order

Co-authored-by: Gijs Koning <gijs-koning@live.nl>
old-commit-hash: d3d210c18304e5ce37c844b3efb706b30fee1460
2022-05-19 03:28:50 -07:00
Jason Young d82f65a1b7 Accept resumeCruise for resuming prior speed setpoint (#24348)
* accept two button types for resume

* retry CI

* Update selfdrive/controls/lib/drive_helpers.py

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 45f131e0e7d1df168295f180195a3b06aba87736
2022-04-28 17:46:58 -07:00
Adeeb Shihadeh 3683360f86 controlsd: fix long press set speed increment (#24161)
old-commit-hash: 1ea66ee244f604b8da898c584e849c0d568235ee
2022-04-06 22:03:40 -07:00
HaraldSchafer d42962014c CarParams: remove max steer (#24044)
* Remove max steer

* Update ref
old-commit-hash: adf34c3414642611bb2c62ed2ff65a006f9ad8ca
2022-03-25 17:33:11 -07:00
HaraldSchafer b24d669861 Apply EU guideline lateral limits (#23974)
* Apply EU limits

* Lower bound v_ego

* Add curvature limit comment

* Remove comment

* Update ref
old-commit-hash: 4a8fffd0f45305cd1f1fd09e37bfb3cff508880b
2022-03-22 19:46:04 -07:00
Gregor Kikelj f0ece255b4 Improve style in drive_helpers (#23962)
old-commit-hash: 08c2d066cf076134d2ec8528dd2cb245c627a7cf
2022-03-14 14:03:28 -07:00
Adeeb Shihadeh ec47e0fef0 break up selfdrive.config (#23959)
* break up selfdrive.config

* add to release files

* fix import order
old-commit-hash: 5c3f3e44bc7b25c9ce502419bcd0261c12ec2b0d
2022-03-13 21:42:39 -07:00
martinl 2caf297f69 Remove unused MPC_COST_LONG class (#23843)
old-commit-hash: 160a8cfd58588a5451bd6c06c3d78e22465cff87
2022-02-23 17:26:05 -08:00
HaraldSchafer c90287391a Controlsd: fix bug in curv rate limit (#23250)
* Controlsd: fix bug in curv rate limit

* update ref
old-commit-hash: d3f064f5ca2563ab139687550eb5d3139b6b8fea
2022-01-04 13:21:56 -08:00
Harald Schafer cf3c8cd301 fix max speed comments
old-commit-hash: 44adea73ce2281cd0d0117c7ef6d1609031be2b9
2021-12-08 17:13:43 -08:00
HaraldSchafer 0dbf0a0106 Cruise speed: up to 90mph max (#23161)
* Cruise speed: up to 90mph max

* update ref
old-commit-hash: d1b003c5d22fa7db9763886b08a2b8294aba5a30
2021-12-07 15:47:57 -08:00
Willem Melching 627c6260cf Fix cruise button mph increment (#22487)
old-commit-hash: 5587964d589761142bd23eef8e08b0134b30ed6e
2021-10-08 11:10:29 +02:00
speedking456 ca46acfd64 accel/decel button metric increments (#22399)
* add metric values

Freedom units have weird multiples compared to metric. Modified so that it increments by 10 km/h on long press and 1 km/h on short press, rather than 8 and 1.6 km/h. This mimics stock hyundai behaviour on metric vehicles.

* use is_metric from controlsd

* use actual mph value instead of rounded

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 23b931660336b7fdd21b8942cedb5f79401aa357
2021-10-04 21:11:17 +02:00
Greg Hogan a131767d0b accel/decel button short/long press 1mph/5mph (#22013)
old-commit-hash: 92895f1e68f76f1092d2fcea8e672eef7309aaf2
2021-10-01 11:09:56 +02:00
HaraldSchafer 96d4bfbff3 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
old-commit-hash: be5ddd25cd3f4c8b7e46cdeecf303e2c73301003
2021-07-07 19:42:26 -07:00
HaraldSchafer 7e87930a20 Refactor lateral lag compensation (#21334)
* add T_IDXS

* refactor

* fix test

* unused

* typo

* needs casting

* Update selfdrive/controls/lib/drive_helpers.py

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

* deprecate field

* regen all

* new segs

* add todo

* split back

* clean

* bad names

* do in controls

* add arg

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 6838e1c82c5abb9f347228006219d96744b3fbb5
2021-06-30 14:19:39 -07:00
HaraldSchafer df9381abd4 Do not allow engagement outside of training distribution (#20112)
* higher is out of the training distribution

* Update RELEASES.md

* Update RELEASES.md

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

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: a0cdacbb2ad6a26012ca374723539e838488dcc5
2021-02-18 17:16:20 -08:00
HaraldSchafer 5794b3a053 not relevant at high speed (#19946)
* not relevant at high speed

* update ref
old-commit-hash: d1b31d3697d1169fed8c0d2330d48f57fdb07d15
2021-01-27 20:28:17 -08:00
HaraldSchafer c6d9b9565a 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>
old-commit-hash: 158210cde8e689daa04bcaa1e502727cf7bfddb6
2021-01-14 18:43:50 -08:00
eFini 7ec2abcf08 use buttonEvent.type instead of string (#1533)
old-commit-hash: e14dfa3beca9897dafa776fdd68c5076d7a31d4e
2020-05-18 10:15:30 -07:00
Adeeb 48340cc8cb Alerts + Events refactor (#1466)
old-commit-hash: d976233f696040cd5f9a5081c7b21742b7aaef66
2020-05-14 15:21:21 -07:00
George Hotz 079eee7294 selfdrive/controls
old-commit-hash: b0260dadba
2020-01-17 12:48:30 -08:00
George Hotz 81dd5a50cf root commit
old-commit-hash: 6c33a5c1f3
2020-01-17 10:02:52 -08:00
Vehicle Researcher dfe603c178 openpilot v0.6.4 release
old-commit-hash: 61229779e4
2019-09-09 23:03:02 +00:00
Vehicle Researcher 9abcfabc5f openpilot v0.6 release
old-commit-hash: 8a9ed94f5f
2019-06-28 21:11:30 +00:00