Commit Graph

89 Commits

Author SHA1 Message Date
Harald Schäfer 9f1e462faa Tomb Raider 6 (#35087)
* 5ec366c3-7883-4004-84a2-e4b14bac5b1d/400

* Use lat plan

* fix import

* fix

* 8d0a1b3b-9972-4e53-b9c5-3e13e5e3e404/400

* whitespace

* whitespace
2025-04-30 17:19:53 -07:00
Bruce Wayne a029d13398 update smooth 2025-04-21 15:44:30 -07:00
Harald Schäfer 33a7d853f0 Modeld: small refactor (#35044)
refactor
2025-04-21 15:10:41 -07:00
Harald Schäfer b42ec33a63 Update modeld action logic (#35032)
* add action logic

* magic numbers

* unused

* plot accel

* more changes
2025-04-17 17:59:15 -07:00
Shane Smiskol 6891b795c4 controls: limit max curvature from lateral acceleration (#34651)
* limit max curvature with lateral accel too

* not a guideline

* roll compensation in curv clip

* improve clipping and alerting

* typo

* clean up

* no float

* get ready

* good idea

* good

* redundant

* TODO

* test

* do max curvature clip last

* flip

---------

Co-authored-by: Bruce Wayne <harald.the.engineer@gmail.com>
2025-03-03 19:47:52 -08:00
Sammohana 8eebce75ac Getting rid of openpilot.common.numpy_fast (#34368)
* Got rid openpilot.common.numpy_fast

* fixed some data type erros

* importing numpy instead of importing specific functions

* fixing some numpy importing mistakes

* Update selfdrive/car/cruise.py

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2025-01-14 14:52:56 -08:00
Harald Schäfer 8743bc4fe2 Null Pointer Model (#34111)
* e8cb7f27-e448-4c15-90c2-ac440cd5a042/400

* 0078ad07-4d46-4086-820f-23d61c90e07f/400

* 4bd74082-70af-47da-8156-e84ebf4d4812/400

* 2a074022-5c2c-4628-97f9-f54849a936a6/400

* 0660aa81-93c5-41b7-9cc2-dc8816a512cd/400

* Clip curvature to reasonable limits

* Better curvature and speed clips

* typo

* typo

* 31aa62c3-b373-4878-8f2e-5107305de187/400

* 384690ca-9b8a-41fe-9bcd-389b20fc6aa4/400

* ref commit

---------

Co-authored-by: Yassine <yassine.y10@gmail.com>
2024-12-13 19:14:21 -08:00
YassineYousfi 36a9687d5d long planner: use temporalPose for v_model_error calibration (#33655)
* long planner: add flag to disable v_model_error calibration

* use temporal pose instead of flag

* udpate model replay ref
2024-09-26 11:01:56 -07:00
Harald Schäfer e8bea2c78f Tomb Raider Model (#33629)
* 69acff08-5383-4103-beea-822f0d228c76/160

* 53f39907-4763-4d19-ba26-e757527c2b61/200

* 21afb89f-1397-4652-b423-abc2da32417a/200

* 21afb89f-1397-4652-b423-abc2da32417a/400

* 53f39907-4763-4d19-ba26-e757527c2b61/400

* 3fb967fd-16a8-4569-ba57-359e54deeab3/395

* Try other policy again

* 3fb967fd-16a8-4569-ba57-359e54deeab3/400

* 0136cabf-539a-4a43-bc7f-06c3654a493c/4400

* 473c0686-1ac9-4c05-9b0b-d1f1afdb6cc3/400

* 83b7993d-51a9-4e3f-904e-3fcd5763c231/400

* 021566c7-cff3-431d-8da2-17a96c888c5f/400

* Fix bugs

* Update longitudinal_planner.py

* Update fill_model_msg.py

* 8be6b59d-4449-42fd-b8e0-93c48387070f/400

* f670a748-3591-4489-a0b3-215118ddad01/400

* 790a2950-c713-4eec-838b-4f55f4fe0ccb/400

* Update model ref

* Plans start at ego

* Update ref
2024-09-23 14:26:28 -07:00
Adeeb Shihadeh e04455cbaa selfdrived: controlsd only does controls (#33485)
* selfdrived

* process replay

* lil more

* set the valids

* rename that
2024-09-06 17:16:32 -07:00
Adeeb Shihadeh 53288d4dbf Move vCruise to card (#33439)
* Move vCruise to card

* cleanup drive_helpers

* works in sim

* update refs

* update that

* too slow :(
old-commit-hash: 2f3256ed8baa3d7a5c4d1befe9148dbfecb37246
2024-09-02 17:18:43 -07:00
Adeeb Shihadeh 7575c707f1 carEvent -> onroadEvent (#33432)
old-commit-hash: c481f11833d748a0d12d2ba14003e931d2849135
2024-09-01 11:31:39 -07:00
Dean Lee 2871822bd2 drive_helpers.py: iterate button_timers with items() (#33351)
iterate button_timers with items()
old-commit-hash: 13e58d33dbe3a7c64f9ff3201fec0c99b477d37e
2024-08-21 11:03:55 -07:00
Shane Smiskol c45e72dd2f remove more car import exceptions (#33193)
* remove another exception (remove mention of events from car stack)

* guess this should've been here all along

* reorganize exceptions

* fix
old-commit-hash: 06216d43bbd0926cfd89c91c43cfc0cf9247c324
2024-08-05 17:27:28 -07:00
Shane Smiskol 2cb381997f cars: remove some external imports (#33133)
* ford and gm

* clean that up

* also this

* honda

* temp fix

* move into selfdrive.car

* clean up

* more
old-commit-hash: 0739d79a512965abbe22f0b15c7fddcdd71478d0
2024-07-30 14:27:27 -07:00
Greg Hogan a3aa8c5eaf use rounded constant instead of hard-coded value for incrementing set speed (#32992)
* use rounded constant instead of hard-coded value for incrementing set speed

* better comment
old-commit-hash: 4b794773b0486a15732ce5551771584af7c41e43
2024-07-16 18:24:01 -07:00
Shane Smiskol a878118b00 Revert "selfdrive/car: ban imports from external modules" (#32993)
Revert "selfdrive/car: ban imports from external modules (#32973)"

This reverts commit c1e8ff2dbc47ccb07fb41a4e88bfb66af2669254.
old-commit-hash: 35a4a773f1ff6c7b171b7acdb2fd4a65279edebd
2024-07-15 11:14:04 -07:00
Dean Lee 58df39a2ba selfdrive/car: ban imports from external modules (#32973)
* lint import

* Update selfdrive/car/__init__.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 83d4623590f87dcb7df2b458a8814d5ad6ea711b
2024-07-15 11:12:24 -07:00
Harald Schäfer 47d5601d8a long control: new API (#32706)
* Simplify long control

* Seperate

* Rename

* Try new api for toyota

* rm v_pid everywhere

* No speed in reset

* 0 is better default

* unassigned variable

* Update other cars

* Update gm

* SIMPLIFY

* simplify more

* fix API boundry

* Fix stopping bug

* Small fixes

* Update ref
old-commit-hash: bc303df6a0a4a9d52a2e92e5976b6c7aa5138b95
2024-06-14 00:08:58 -07:00
Harald Schäfer 215b346dc0 Los Angeles Model (#31037)
* 1c888f5b-c213-4c1c-9eba-c587afd047fc/700

* Move to action

* Updates

* Add steer delay

* Update curvature grep

* clip speed

* No car params for now

* Add delay back

* Update

* fix lint

* fix lint

* update model regf
old-commit-hash: 0067cf3eb1fce18a4d9c548a0c136027c87d43aa
2024-01-22 00:58:06 -08:00
Harald Schäfer 66dbadb029 Delete lat planner (#31089)
* Initial commit

* Fixup

* typo

* ignore lateral plan

* Update cereal

* Remove lateralPlan

* Fix release build

* Fix release build

* give car params

* Add carParams to include_all_types

* Write car param in powerdraw test

* add demo mode

* Update model regf

* proc replay ref commit

* Try

* Move enum definition

* Update cereal

* typo

* Write car param for modeld test

* Update ref

* Update model ref again

---------

Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
old-commit-hash: e6c97c384671b448f307a7ed91416886f2186d80
2024-01-21 12:09:48 -08:00
Harald Schäfer f2106e0601 No curv rate for lateral control (#31042)
* No more Curvature rate for lat control

* Update cereal

* Update

* Fix lat control test
old-commit-hash: d36103791c9432155413e1044bcca2ac37bfa852
2024-01-17 16:00:50 -08:00
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