* 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>
* 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>
* 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>
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>
* 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>
* Add cost for creep
* more reasonable cost
* seems better than before
* science tune
* more chill
* closer follow
* stopping takes some leeway
* better cruise
* needed to be cumsum all along
* jerk not even needed
* matches better
* 6 is too much
* add back
* a little extra buffer is good for badly tuned cars
* new refs
* refs again
* 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
* just use MPC for fcw checking
* thats already bad
* model FCW is always good
* better fcw
* should be good for now
* comment
* linting
* cleaner
* unused
* 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
* acados long
* new ref
* SPPEEEEEDDD
* less iterations
* this shouldn't be so high
* reset only essentials
* minimal reset for long mpc
* more cpu usage plannerd
* Use lead mpc even when going to crash
* reset to current state
* Use open loop speed for lead mpc
* 1 iteration is too little for cruise mpc
* add whitespace
* update refs