* 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>
* move some state machine logic to controlsd
move some state machine logic to controlsd
* same order
same order
* move unsafeMode up
* disable at standstill
* save last CS
save last CS
* do we need to copy at all?
* don't copy
* rename
* Update selfdrive/controls/controlsd.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Revert "Update selfdrive/controls/controlsd.py"
This reverts commit 10bb51a0f0.
* Update refs
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* proof of concept
* actuators packet describes which actuators are active
* bump cereal
* fixes
* not needed for this PR
* Do Toyota
* add back controlsState.active
* bump cereal
* rest of cars
* in actuators
* add active back
* which
* use controlsState.active for now
* will make an issue
* Update selfdrive/controls/controlsd.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* move local lat_active checks into CC.latActive
* remove redundant checks
* move comment
move comment
* fix joystick mode
* get enabled from carcontrol
* do standstill check in controlsd
* make sure we consider the gas press case for GM
* use CC.actuators
* fix
* capitalization
* Bump cereal
Bump cereal
* make intermediate actuators
* similar convention to before
* clean that up
* update refs
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* 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>
* check if plan is to accelerate or not
* remove comment
* needed to see it
needed to see it
* test logic with Toyota TSS2
* hackily log conditions
* Revert "hackily log conditions"
This reverts commit 7a6b5691e2b982c7a1e3911d980fb7530647affd.
Revert "test logic with Toyota TSS2"
This reverts commit e583d6e3caaa5f5b896165cd7949dfc1caabfd9a.
order
* revert
* fix
* Added wide cam vipc client and bigmodel transform logic
* Added wide_frame to ModelState, should still work normally
* Refactored image input into addImage method, should still work normally
* Updated thneed/compile.cc
* Bigmodel, untested: 44f83118-b375-4d4c-ae12-2017124f0cf4/200
* Have to initialize extra buffer in SNPEModel
* Default paramater value in the wrong place I think
* Move USE_EXTRA to SConscript
* New model: 6c34d59a-acc3-4877-84bd-904c10745ba6/250
* move use extra check to runtime, not on C2
* this is always true
* more C2 checks
* log if frames are out of sync
* more logging on no frame
* store in pointer
* print sof
* add sync logic
* log based on sof difference as well
* keep both models
* less assumptions
* define above thneed
* typo
* simplify
* no need for second client is main is already wide
* more comments update
* no optional reference
* more logging to debug lags
* add to release files
* both defines
* New model: 6831a77f-2574-4bfb-8077-79b0972a2771/950
* Path offset no longer relevant
* Remove duplicate execute
* Moved bigmodel back to big_supercombo.dlc
* add wide vipc stream
* Tici must be tici
* Needs state too
* add wide cam support to model replay
* handle syncing better
* ugh, c2
* print that
* handle ecam lag
* skip first one
* so close
* update refs
Co-authored-by: mitchellgoffpc <mitchellgoffpc@gmail.com>
Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
* base LatControl class, move sat check out of pid.py
clean up
clean up
* fix
* global variable for min control speed
* nicer name
* unify latcontrol class init arguments
* add to release files
* saturated if close to limit
* move angle mode saturation checks into class
* check_saturation function takes in current saturated status
undo
* apply latcontrol_angle's active checking to all controllers
* clean up
* move those back
* make abstract baseclass
* add test for saturation
* keep clip
* update ref
* fix static analysis
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* should work
* Revert "should work"
This reverts commit dabc2ea17a072a6c835e4bd1c75a2c1e2d10623d.
* move lane change logic to DesireHelper class
* clean up desires
clean up desires
* comments
* Revert "clean up desires"
This reverts commit 7301c921e305fcbd4746b19040631d935d50dfd9.
* Update selfdrive/controls/lib/desire_helper.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add to files_common
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* add unsafe mode check to controlsd
bump submodules
forgot to add to health_t struct
bump
ahh forgot to set it!
bump
bump
clean up
clean up
bump
* fix ordering
* move to end
* unsigned
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* hacks to make process replay engage again
* dont change that
* enable engagement check again
* chmod +x
* first working regen
* proper logMonoTime
* fix video framerate consistency
* mpc is valid again
* proper alive checks
* revert loggerd change
* ensure engaged in regen, fix managerState, peripheralState
* ubloxRaw is unused
* add submaster config for gm
* regen all services we can run without HW
* fix loggerd
* loggerd: matroska without the extension
* update ref
* lat_mpc: make v_ego, rotation_radius parameters instead of states
* lat_mpc: remove rotation_radius argument, since it is part of the parameters
* lat_mpc: use qp_solver_cond_N = 1
slightly faster and in line with case study in Fig. 2/ 3 in Frison2016 - https://cdn.syscop.de/publications/Frison2016.pdf
An Efficient Implementation of Partial Condensing for Nonlinear Model Predictive Control
* adapt test_lateral_mpc to formulation with parameters
* lat_mpc: set parameters in reset() and copy values
* acados_ocp_solver_pyx: make options_set useable
* update ref
Co-authored-by: Willem Melching <willem.melching@gmail.com>