Commit Graph

579 Commits

Author SHA1 Message Date
Shane Smiskol beeb0442ce base LatControl class (#21967)
* 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>
old-commit-hash: 9de8f8cd8c384596868edf3307da51819b28bb4b
2022-01-26 17:10:41 +01:00
Shane Smiskol a790a658f8 LateralPlanner: Move lane change logic to another class (#23476)
* 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>
old-commit-hash: 6be70a063dfc96b9e9f097f439bdc2e0be54d6d9
2022-01-25 13:40:03 +01:00
Shane Smiskol 183715ccea controlsd: verify unsafe mode consistency (#23563)
* 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>
old-commit-hash: 31d147dca2ada336d14c08ae35f5af510c309730
2022-01-25 12:09:13 +01:00
Adeeb Shihadeh d07d22c9b9 controlsd: remove redundant condition
old-commit-hash: e50efd7671e8c6a69f50eab794d33fa0c27b5196
2022-01-24 21:28:30 -08:00
Adeeb Shihadeh 70f1418256 remove community features toggle (#23214)
* remove community features toggle

* bump cereal

* little more

* update refs
old-commit-hash: 3e9cb7fa12b5f686fdcf6122ef5979d01c41f0a3
2022-01-24 14:49:47 -08:00
Willem Melching 962201fff1 Ensure controlsd can engage again in process replay (#23556)
* 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
old-commit-hash: d3d10e014a69f77d3f67c8d01100b03fde8ab034
2022-01-21 13:13:34 +01:00
Jonathan Frey 6f4c93238f work on acados lateral MPC (#23558)
* 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>
old-commit-hash: 06814748409bd8538edca1b2bcef66f15e1c3ab6
2022-01-18 09:49:48 -08:00
Willem Melching dce057d29f Log MPC solver time (#23566)
* add solve time to plan output

* add to process replay ignore list

* print in CI
old-commit-hash: f76328b426979583e6a4b8c89f0bbfac6c631896
2022-01-18 14:51:03 +01:00
Adeeb Shihadeh c2a23fa24c clear no entry alerts if engaged (#23559)
* clear no entry alerts if engaged

* fix test
old-commit-hash: 59894a66669f72dd65acf8f7556c43007d1af68e
2022-01-17 13:57:53 -08:00
Dean Lee d0bfd37a95 controlsd: remove extra space (#23553)
old-commit-hash: 5cd103c3d4422d5456be26da0d869787fc49d61f
2022-01-17 13:51:44 +01:00
Adeeb Shihadeh 2013e086ba shutdownd is non essential
old-commit-hash: c6b892fe58b338987d02712d44f828b47bc72cb1
2022-01-14 11:59:04 -08:00
Dean Lee a1d3ab2ea1 controlsd: cleanup parsing android log (#23421)
* cleanup parse android log

* global CSID_MAP

* use generator express

* cleanup

* no walrus

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: fd042a5924789e3b745b651d44a90013c0bbacc7
2022-01-13 19:43:22 -08:00
Dean Lee 7f9069cb34 controlsd: check self.enabled out of the any() (#23507)
old-commit-hash: 48b6dfa15de1bf8157288ea06114ab5418f2650c
2022-01-13 11:53:04 +01:00
Dean Lee 384857f2b4 lateral_planner: use nympy.isnan().any() (#23500)
old-commit-hash: dbae5e760101da63a983162e132f327421b3220a
2022-01-12 15:56:41 +01:00
Dean Lee 54bdb321bd cleanup iterate keys in dictionaries (#23497)
old-commit-hash: a186bcc9f16c08f405dda92b8ac9e8a80895cdc7
2022-01-12 12:42:50 +01:00
Dean Lee 58cafc8060 AlertManager: cleanup add_many (#23438)
old-commit-hash: 678732d0ce93446f0468893c6faf6e1d1e20ee6e
2022-01-11 14:16:52 -08:00
Dean Lee 55233b753b use ndarray.tolist to convert numpy array to float (#23485)
old-commit-hash: 35ec6ac1cb98f7d671edcb928a2b97d749a1edde
2022-01-11 14:34:47 +01:00
Shane Smiskol 56b3c7f790 LanePlanner: offsets cleanup (#23459)
* update comments

* model y axis was flipped so flip the offsets as well

* fix
old-commit-hash: 233a6e4a625a8ef145904522e4663177bcd3d65d
2022-01-10 13:08:45 -08:00
Robbe Derks 54a4dece4d Ignore statsd for running process check (#23483)
old-commit-hash: 1a54d7f6aee817cc3217041bc085f9b83faafce0
2022-01-10 19:54:41 +01:00
Dean Lee 97c4cdc0cc LongControl: remove redundant check on active (#23481)
old-commit-hash: 4208fe018e898d9f3cde1b2ac8feb29d9bb11ce6
2022-01-10 18:46:02 +01:00
Dean Lee 98de810849 check in tuple instead of list (#23477)
* check in tuple instead of list

* Update selfdrive/car/toyota/carcontroller.py

Co-authored-by: Willem Melching <willem.melching@gmail.com>

* Update selfdrive/car/mazda/interface.py

Co-authored-by: Willem Melching <willem.melching@gmail.com>

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: a653461dec18b1313148905172ba54bac9f5fdfd
2022-01-10 16:36:51 +01:00
Dean Lee 75d00872e8 events: cleanup function any (#23479)
old-commit-hash: 8eec818ae625fd2311bd3d5f9976d034674cb13e
2022-01-10 14:32:07 +01:00
Dean Lee 61a28b2fb7 controlsd: check all_valid only if not initialized (#23437)
* check all valid in if statement

* apply review
old-commit-hash: 67af0956923558059d1feea9a9e263d37d09e865
2022-01-10 12:13:58 +01:00
Dean Lee df63cf059a controlsd: save lat_plan.dPathPoints to local variable (#23462)
old-commit-hash: 2d08f8b318641ee4e6d53ca736358c7a2d533b5d
2022-01-10 11:27:31 +01:00
Dean Lee 7276bf8197 controls: check contents in tuple instead of list (#23463)
old-commit-hash: b2beb5e6ba6eda6354e93649a5b5829c9c4537bc
2022-01-10 11:26:58 +01:00
Dean Lee 296925cd6a optimize alertmanager (#23433)
old-commit-hash: 09a835916b0c10175c5658a92cf5ca23a337cb19
2022-01-06 22:15:32 -08:00
Dean Lee 60a22bbc0c controlsd/state_transition: remove redundant check in elif (#23428)
old-commit-hash: e0338fd77b98073673f48213336965349e7194a9
2022-01-06 15:54:19 +01:00
Dean Lee 521e3d843b longcontrol: check if speeds is empty (#23410)
* check if speeds is empty

* move into existing check

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: a2e762e0b96c7ff271dcfd41c0ca7c12018444f0
2022-01-05 14:23:08 +01:00
Shane Smiskol d05c173fe6 Longcontrol: remove starting state (#23328)
* remove starting state

* new ref

* ready for merge

* try this

* cereal now on master

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
old-commit-hash: cf9792dc536db343447cfa64edecc72565c4eefd
2022-01-04 15:40:39 -08:00
Dean Lee 0a03f65b2b controlsd: remove duplicate event relayMalfunction (#23392)
old-commit-hash: 0357cf2af0bc7449e7aefff5b0f0881f1ae2adb3
2022-01-04 14:07:36 -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
Shane Smiskol b500034b8d 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>
old-commit-hash: 9cb0ebe37d234b292e5f2a482924a6f23ab77ba9
2022-01-04 16:00:29 +01:00
Shane Smiskol efd1ff1452 Longitudinal planner: make v_desired a FirstOrderFilter (#23341)
* make v_desired a FirstOrderFilter

* forgot one

* one more ref

* Add a new object for the filter

* fix

* fix tests

* update ref

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 9f88ba188a19cd90e8fee48353668dda7b47b2ba
2022-01-04 12:17:33 +01:00
Dean Lee ea519c31e4 controlsd/publish_logs: follow capnp best practices (#23372)
* follow follow capnp best practices

* cleanup
old-commit-hash: 960e0cf6a70638e5235f569da9391638eb94b513
2022-01-04 12:04:03 +01:00
Dean Lee a55046c949 longcontrol/update: optimize capnp (#23382)
old-commit-hash: 5dc631fa1bf471264fceab67edfe4c3962ac9831
2022-01-04 11:32:54 +01:00
Dean Lee a2e38be31a radard/update: optimize capnp (#23380)
old-commit-hash: 7b612d47b66e09dfecdaebc60671231697592cf5
2022-01-03 17:26:32 -08:00
Dean Lee 3723b3a877 lane_planner.py/parse_model: follow capnp best practices (#23368)
old-commit-hash: f2520b6e80125a108108b7acef1a10ab55b51284
2022-01-03 15:08:24 -08:00
Adeeb Shihadeh 98c8147ec3 CAN receive error is a comm issue (#23362)
old-commit-hash: 1e41f4723b539c9c76c1ae0c16f7a0a42cfe5deb
2022-01-03 14:13:45 -08:00
Dean Lee 5fbbb129a6 lateral_planner.py/publish: follow capnp best practices (#23359)
old-commit-hash: 2ca0925da7fd94a5f12a4ebe14a394a09703a212
2022-01-02 11:55:24 -08:00
George Hotz 86a39e838b Add More Types for mypy (#23268)
* mypy passes

* a few more

* a few in manager

* more types, will lint

* more

* simple types

* events type

* Update selfdrive/thermald/thermald.py

* Apply suggestions from code review

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: dc96d4bee7b898172a6a15de4799af0e2d35605e
2021-12-28 18:07:00 +01:00
Shane Smiskol d5bf8e0e65 LongitudinalMpc: minor clean up (#23296)
* correct order

* formatting

* Revert "formatting"

This reverts commit 481c390f400179f5d0d8f9b5a3066cb68e484d0c.

* use np.zeros

* typos and formatting

* typo

* typo
old-commit-hash: 5387806400ff9258e158e0400683a2c9a5e6c043
2021-12-28 12:05:52 +01:00
Ewout ter Hoeven f206ebd054 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>
old-commit-hash: 332f568a8241fba9459cb70c76840b9670e6993a
2021-12-24 11:18:39 -08:00
Adeeb Shihadeh 8f09da4407 bump cereal
old-commit-hash: 256c51e16afdf4a8fa7089cc9c318c07b15504a7
2021-12-20 23:04:27 -08:00
Adeeb Shihadeh 55d6972d08 Revert "Mazda: alert when LKAS is disabled (#23273)"
This reverts commit e67713edb1f62957974f20a0f7eceb2fc9efb1f4.

old-commit-hash: c92199ab1a94d2ea565e68e513bf4f9e3e81d489
2021-12-20 23:02:02 -08:00
Jafar Al-Gharaibeh 9b7dd754c4 Mazda: alert when LKAS is disabled (#23273)
* Mazda: alert when LKAS is disabled

Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com>

* Update selfdrive/controls/lib/events.py

* Update selfdrive/car/mazda/interface.py

* bump cereal

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: f25121b7364a2babef5022e852cf97570bee6da2
2021-12-20 14:58:46 -08:00
George Hotz 6bac4f1c4a build for mac (#23048)
old-commit-hash: 16dd7ce1fe2a2b0537fefd5ad131d1494d0d09ad
2021-12-18 22:00:09 -08:00
HaraldSchafer f64c2974b4 Road Roll Compensation Rebased (#23251)
* first commit

* update refs
old-commit-hash: cf466222f623df5fac325b86b71dc4e181b40d55
2021-12-16 17:34:12 -08:00
Ewout ter Hoeven a962365292 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>
old-commit-hash: 55390d273f36f49da3896e687ac5530f40c1d150
2021-12-16 14:58:17 +01:00
Willem Melching 7b3e330def Log actuators after applying rate limits in CarController (#23230)
* return actuators from carcontroller

* log it

* pass to latcontrol

* chrysler

* gm

* honda

* more brands

* rest of the brands

* gm cleanup

* hyundai cleanup

* update ref

* rename field

* fix subaru

* add types

* more subaru fixes #23240

* consistent whitespace

* bump cereal
old-commit-hash: 4f1eb4278a83a3abebebef67a081961e27594d90
2021-12-16 13:08:20 +01:00
Shane Smiskol 91ff6918e5 Remove minSpeedCan (#22991)
* Remove minCanSpeed

Remove minCanSpeed

* it actually only goes out to 2.5 seconds, this is okay to remove

* test to see if this preserves behavior

add minSpeedCan

* Revert "test to see if this preserves behavior"

This reverts commit 31b11f017f7e9da7654fc8064b5983d4a6cc22e5.

* preserve behavior (don't enter stopping as early)

* vEgoStopping needs to be less than or equal to vEgoStarting to avoid state oscillation
old-commit-hash: 2799ef52928126d4b704a6ad83e25a35d0b56da3
2021-12-14 12:09:32 -08:00