Adeeb Shihadeh
35f819c823
swaglog.py goes in common/ ( #30631 )
...
* swaglog.py goes in common/
* all of these go in release
* we'll even include the pyx
2023-12-06 17:27:51 -08:00
Justin Newberry
4e69937d0d
Precommit: ensure executable bit is set ( #29784 )
...
* precommit ensure executable
* exclude tinygrad
* bump submodules
* exclude tinygrad globally
2023-09-05 16:33:26 -07:00
Adeeb Shihadeh
9719b22761
Update Python packages and pre-commit hooks ( #29739 )
...
* Update Python packages and pre-commit hooks
* fix linter
---------
Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com >
2023-08-31 15:00:13 -07:00
Kacper Rączy
d138a358eb
scons: fix multithreaded builds ( #29716 )
...
* common_python export
* Single scons call
* transformations_python
2023-08-31 00:01:03 +02:00
Kacper Rączy
517499294a
mpc_lib: fix dependencies ( #29621 )
...
* Remove common dependency of lateral mpc
* Replace cereal dir dependency with cereal lib in long mpc
* Add missing files to generated sources
* Typo fix
* messaging_python dep
2023-08-25 16:51:57 -07:00
Dean Lee
55cca6ed26
scons: remove missing MPC headers ( #29485 )
...
* remove invalid files
* Update selfdrive/controls/lib/lateral_mpc_lib/SConscript
Co-authored-by: Shane Smiskol <shane@smiskol.com >
* Apply suggestions from code review
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com >
2023-08-23 15:43:27 -07:00
Adeeb Shihadeh
a9626f95b6
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
2023-08-20 20:49:55 -07:00
Adeeb Shihadeh
d61f86d339
replace custom clock helpers with time module ( #29499 )
...
* replace custom clock stuff wtih time module
* fix double
* fix release
* bump cereal
* update type
* fix one more
2023-08-20 18:50:58 -07:00
Justin Newberry
62c1e65924
Ruff: enable most of bugbear ( #29320 )
...
* added mutable default args
* most of the Bs
* add comment about lrucache
2023-08-11 15:33:49 -07:00
Justin Newberry
7fdd9fc37c
CI: Pylint to ruff ( #29294 )
...
* pylint to riff
* pylint to riff
* pylint to riff
* revert more
* undo exclude removal
* exclude tinygrad
* set line length
* pylint exclusions to ruff
* same excludes as old linter
* fix tools QA
* remove unrequired check
* revert linting third_party
* ignore e402
2023-08-09 13:26:54 -07:00
Justin Newberry
cf64b27168
Linter: Fix >160 line length test ( #29287 )
...
* test
* fix line length
* fix line length
* fix file size
* revert poetry
* cleanup for PR
2023-08-08 17:13:35 -07:00
Kacper Rączy
c640429406
aarch64: ubuntu build support ( #29171 )
...
* Add support for aarch64 pc linux
* Add new libyuv path to release files
* Add libyuv's x86_64 lib dir
* Move left-over platform specific dirs from files_common
* Remove libyuv/lib directory (duplicate)
* Fix mpc Sconscripts
* Remove acados lib path from mpc sources
* Fix typo
* Add watch3 exec on aarch64
2023-08-01 16:18:46 -07:00
Lee Jong Mun
a61df2bdde
controls: use common car interface acceleration limits ( #29184 )
...
* Duplicate Accel param
using interfaces accel param
* revert brand accel value
* import error
* sort
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com >
2023-07-31 22:56:47 -07:00
Maxime Desroches
97eec45d42
Test scons multithreaded random build ( #29082 )
...
* random build
* name
* 2 pass
* clean after
* fail on this
* fix deps
* format
* var
* try without lfs
2023-07-21 21:57:27 -07:00
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
eFini
7a5dbe6132
long_mpc: clean up get_T_FOLLOW() usage ( #29033 )
2023-07-19 02:07:01 -07:00
Harald Schäfer
ae3681f2bb
Test and fix cruise speed all personalities ( #28658 )
...
* Fix cruise speed in non-standard mode
* Test all personalities
* Test only critical speeds
* 35ms max
2023-06-23 17:14:41 -07:00
Harald Schäfer
205c900742
Driving Personality setting (also changes follow distance) ( #24742 )
...
* Skeleton
* Adjustable follow parameter
* fix rebase
* long planner
* typo
* Add ui toggle
* Fix icon
* Improve text
* Better toggle position
* Im a UX engineer now
* add param reader
* CHange jerk to have same crash test performance
* Try reading param
* Unused comment
* translate ui text
* std stoi
* Parametrized buttons
* Empty strings are ints
* Move to generic
* Update translations
* Fix translation diffs
* Release notes
* update refs
* tweaks
* Misc fixes
* No param is standard
2023-06-05 22:17:41 -07:00
Harald Schäfer
04fe6c4ec7
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
2023-02-17 15:28:26 -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
Adeeb Shihadeh
cd8e03d53e
move all third party stuff into third_party/ ( #26853 )
...
* mv fastcluster
* move msm_kgsl.h
* camerad include
* update path
* mv pyextra
* fix tici build
* add acados_template to release build
Co-authored-by: Comma Device <device@comma.ai >
2022-12-31 21:00:50 -08:00
YassineYousfi
ded66e6307
long_mpc: fix e2e source condition ( #26546 )
...
* fix long_mpc source param
* rm print
* add back space for formatting
2022-11-21 15:25:23 -08:00
Harald Schäfer
f23296bc87
Add force decel to e2e long ( #26448 )
...
* add force decel to e2e
* Update longitudinal_planner.py
2022-11-11 10:46:03 -05:00
Harald Schäfer
253e5d7f9d
FCW: less false positives ( #26366 )
...
* Less FP for FCW
* enable fcw for e2e long
2022-11-06 12:17:07 -08:00
HaraldSchafer
dcde942d9f
Long control: add a_change cost in e2e mode ( #26237 )
...
Add e2e cost
2022-10-25 16:53:24 -07:00
HaraldSchafer
cb0b7375b7
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 >
2022-10-05 21:43:38 -07:00
HaraldSchafer
e5d2c3ce7a
Planner cleanup ( #25969 )
2022-10-04 21:19:04 -07:00
Lee Jong Mun
7df0e3efcf
remove blank whitespace ( #25921 )
2022-09-29 13:52:41 -07: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
faff2b8950
Add e2e long toggle ( #25638 )
...
* Add toggle
* Misc fixes
* Update translations
* pre alpha not great
2022-09-02 00:24:53 -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
HaraldSchafer
2c877ce490
Long e2e planner: better xva weights ( #24893 )
...
better long xva weights
2022-06-17 10:35:24 -07:00
Adeeb Shihadeh
0fce5d9045
Move a bunch of stuff to system/ part 3 ( #24829 )
...
* move swaglog.py
* timezoned
* logmessaged
* version.py
* fix linter
2022-06-11 23:19:27 -07:00
Vivek Aithal
1a9f5d29d4
longitudinal_mpc: Compute forward distance from velocity ( #24328 )
...
* add vel integ as x in e2e long mpc
* add comment
2022-04-25 20:15:04 -07:00
Adeeb Shihadeh
5c48e7bc86
remove comma two support ( #24248 )
...
* remove comma two support
* cleanup release files
* little more
* more libs
* no more gralloc
* add snpe back
2022-04-18 17:55:23 -07:00
Jonathan Frey
a9bac5acf8
longitudinal MPC: use reset() function instead of recreating the solver in ( #24091 )
...
* scons: add acados_template as dependency for lat and long mpc
* long MPC: use acados reset instead of recreating the solver
* long MPC: print timings and reset commented
* update acados x86_64
* update acados include folder
* update acados Python interface
* update acados reference commit to latest acados/master
* update x86 libs
* update comma two
* update acados again with commit 8ea8827fafb1b23b4c7da1c4cf650de1cbd73584
* update comma two
* update comma three
* update x86
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com >
Co-authored-by: Comma Device <device@comma.ai >
2022-04-01 15:39:41 -07:00
Adeeb Shihadeh
f1aab78d08
longitudinal MPC: add MAX_T in T_IDXS_LST ( #23960 )
...
* longitudinal MPC: add MAX_T in T_IDXS_LST
* update refs
Co-authored-by: KexianShen <shenkexian@gmail.com >
2022-03-13 21:45:23 -07:00
Jonathan Frey
d653dd843a
Upstreamed and update acados ( #23927 )
...
* change acados version to finalized PR https://github.com/acados/acados/pull/791
* acados: update include and x86_64 build
* acados: update pyextra
* adapt mpc files to updated acados
* acados buid: clear acados_template and include dir before updating
* update acados again
* acados MPC: only generate solver, building is done via scons
* update acados to latest acados/master
* c3 libs
* c2 libs
* acados scons files: add acados build script as a dependency
* acados scons files: add libacados.so and ocp_nlp_interface.h, build script not in files_common
* update acados
* adapts long & lat MPC file
* update acados reference commit to acados/master
Co-authored-by: Comma Device <device@comma.ai >
2022-03-11 11:49:27 +01:00
Jonathan Frey
ab371f888a
Longitudinal MPC set qp tolerance to 1e-3 ( #23899 )
...
* initialize solverExecutionTime longitudinal_planner
* test_onroad: improve timing evaluation
* longitudinal MPC: set qp_tol to 1e-3
* update ref
Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com >
2022-03-02 21:38:40 -08:00
Jonathan Frey
1801baba68
remove trivial terminal constraint and associated CasADi generated functions ( #23898 )
...
* remove trivial terminal constraint and associated CasADi generated functions
* Update refs
Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com >
2022-03-02 20:53:21 -08: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
Willem Melching
f76328b426
Log MPC solver time ( #23566 )
...
* add solve time to plan output
* add to process replay ignore list
* print in CI
2022-01-18 14:51:03 +01:00
Shane Smiskol
9cb0ebe37d
LongitudinalMpc: Remove class accel_limit_arr ( #23295 )
...
* remove class accel_limit_arr
remove class accel_limit_arr
* make it static
* only set static parameters once
* just use existing function
style
* Update selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py
* Update selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py
Co-authored-by: Willem Melching <willem.melching@gmail.com >
2022-01-04 16:00:29 +01:00
Shane Smiskol
5387806400
LongitudinalMpc: minor clean up ( #23296 )
...
* correct order
* formatting
* Revert "formatting"
This reverts commit 481c390f400179f5d0d8f9b5a3066cb68e484d0c.
* use np.zeros
* typos and formatting
* typo
* typo
2021-12-28 12:05:52 +01:00
Ewout ter Hoeven
332f568a82
Pyupgrade 3.6: Update syntax with Python 3.6+ features ( #23305 )
...
Updated Python code with Python 3.6+ features:
- utf-8 encoding is now the default (PEP 3120)
- Replace list comprehensions by Generator Expressions (PEP 289)
- Replace yield loop by yield from (PEP 380)
- Remove the (object) subclass when defining a class
- Replace the IOError alias by OSError (PEP 3151)
- Define sets with curly braces {} instead of set()
- Remove "r" parameter from open function, which is default
Co-Authored-By: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com >
Co-Authored-By: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com >
Co-authored-by: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com >
Co-authored-by: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com >
2021-12-24 11:18:39 -08:00
George Hotz
16dd7ce1fe
build for mac ( #23048 )
2021-12-18 22:00:09 -08:00
Ewout ter Hoeven
55390d273f
Convert format strings strings to f-strings ( #23241 )
...
* Convert all text strings to f-strings
Reformats all the text from the old "%-formatted" and .format(...) format to the newer f-string format, as defined in PEP 498. This requires Python 3.6+.
Flynt 0.69 was used to reformat the strings. 120 f-strings were created in 51 files.
F-strings are in general more readable, concise and performant. See also: https://www.python.org/dev/peps/pep-0498/#rationale
* revert pyextra changes
* revert ublox.py
Co-authored-by: Willem Melching <willem.melching@gmail.com >
2021-12-16 14:58:17 +01:00
HaraldSchafer
c41a0cae4b
XVA long policy: prev_a becomes numpy anyway ( #23175 )
2021-12-08 16:06:09 -08:00