Commit Graph

147 Commits

Author SHA1 Message Date
Shane Smiskol d35f01464a move CarControllerBase up with other car classes
old-commit-hash: f20bfacb9434d5f9d2a6692352c1f686dec9327f
2024-02-28 20:23:09 -08:00
Justin Newberry 9ccd7f15f9 Subaru: move to flags within PlatformConfig (#31584)
* flags

* update ref

* use the flags directly

* use post_init (don't freeze)

* we can maintain frozen with custom class

* not preglobal

* move to common

* cleanup
old-commit-hash: 3a6c3315ab181bf7390ae1faa6e87c93b1a97338
2024-02-28 20:12:14 -08:00
Justin Newberry c3f35c3fbd add CarControllerBase base class to all CarControllers (#31630)
just base class for now
old-commit-hash: d4c497d82674126103118a4d5bb7a39db2823609
2024-02-28 17:13:44 -08:00
Justin Newberry 36d50a2e45 remove cast for platformconfig (#31604)
* this isnt required

* Cleaner
old-commit-hash: 6d0027342ab00486e9cfbed1ffbd098642f2abd7
2024-02-26 21:01:41 -08:00
Eric Brown 0f78a52a22 GM: move to platform config (#31553)
* subaru platform config

* forester wrong dbc

* spacing

* subaru car specs

* someday!

* more red diff

* Move GM to platform config

* Implement CarSpecs

* Simplify centerToFront

* Accidentally had subaru DBC

* Fix typo in DBC name

* done above

* two spaces

* that is moved up

* fix hardcoded fingerprints

* whitespace

* values

* better?

* fix

* bump

* fix

* fix

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
old-commit-hash: 5012e15aa65f4ee82ce19c856a52909b3a879016
2024-02-25 17:53:26 -08:00
Jason Young 5cb007daf3 VW: Move car specs to PlatformConfig (#31567)
* subaru platform config

* forester wrong dbc

* spacing

* subaru car specs

* someday!

* more red diff

* all brands can be done like this

* but this should be done first and thats subaru specific

* that seems very low but we shouldn't change it here

* as long as it subclasses str its fine

* well that sucked

* cleanup and follow refactor

* diff reduction

* oops

* fix

* force fingerprint

* Revert "force fingerprint"

This reverts commit 600fbcd7d559703601a06c8876a640de417e5b6c.

* space

* Fix specs

* this one too

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
old-commit-hash: da540eac1346d0d28bf7cbb2499d6193af541798
2024-02-25 17:38:17 -08:00
Justin Newberry d11aac152e cars: introduce "Platform" union type for all car enums (#31558)
* Hmm

* release

* hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

* unrelated

* forgot

* cleaner

* Platform

* new syntax

* Fix

* clean

* Fix
old-commit-hash: e6009d80e9323f0cbb41f058164b63eef4a9c55c
2024-02-24 22:18:13 -08:00
Cameron Clough 9bd90112d0 use pyupgrade to update to new typing syntax (#31580)
* add pyupgrade hook

* run pyupgrade (pre-commit run -a)

* ruff --fix

* Revert "add pyupgrade hook"

This reverts commit 56ec18bb6b8602a0b612f3803d96cdad14b52066.

* revert changes to third_party/

* manual type fixes

* explicit Optional wrapping capnp objects
old-commit-hash: 995250ae4967943ee33a3699a1d89a7a770d95e9
2024-02-24 16:41:23 -08:00
Justin Newberry c564806520 Subaru: move carspecs to PlatformConfig (#31550)
* subaru platform config

* forester wrong dbc

* spacing

* subaru car specs

* someday!

* more red diff

* all brands can be done like this

* but this should be done first and thats subaru specific

* that seems very low but we shouldn't change it here

* as long as it subclasses str its fine

* fix
old-commit-hash: 1161d33c1892b32980a222b7c5b2ad9d6b05621e
2024-02-23 13:23:40 -08:00
Adeeb Shihadeh 66adafe850 radard: remove sleep for cars without radar (#31467)
* radard: remove sleep for cars without radar

* fix

* update refs
old-commit-hash: 6f905ed979cb8e217c182c653528df3a6094015b
2024-02-14 13:12:54 -08:00
Vivek Aithal ac63e9fd51 CHEVROLET BOLT EUV 2022: Add a simple neural feed forward (#31266)
* add simple neural feed forward

* update refs

* do not sample during inference in op

* update refs
old-commit-hash: 619625625ce9dc67835aaaca266ccd66f63545e3
2024-02-01 12:30:43 -08:00
Vivek Aithal 80195f1432 LatControlTorque: Add more inputs (#31252)
* add history and state to the ff inputs

* add history

* resolve comments

* remove history, simplify

* don't compute lateral accel, roll comp always
old-commit-hash: 056b330e8bd1ffafdd0bd310782dd140c8f2174d
2024-02-01 04:12:48 -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
Shane Smiskol e9e408118b interfaces: fix get_interface_attr typing (#30813)
* fix

* Update selfdrive/car/interfaces.py
old-commit-hash: 1a165c658035233b4fca774d886c7ecb97a43364
2023-12-19 23:35:31 -08:00
Justin Newberry ff12759e80 Move all fingerprints to fingerprints.py (#30790)
* move fingerpints

* fix circular imports

* fix circular imports

* fix auto fingerprint

* fix those tests

* and controlsd

* add labeler rule

* no defaultdict
old-commit-hash: 28eed156e0a62ab993de6d534bb102a6ede222f7
2023-12-18 14:04:27 -08:00
Adeeb Shihadeh 63b374bd89 Cython KF1D to Python (#30773)
* Cython KF1D to Python

* cleanup

* set x

* less nesting

* fix release

* Revert "fix release"

This reverts commit 97e5d0f80405660efb861c7b9df7fbfd5dda5dd9.
old-commit-hash: 1421551297396cf16e3d041506f156c1626ded50
2023-12-16 23:45:28 -08:00
Adeeb Shihadeh ab31860658 remove PyYAML package (#30770)
* remove PyYAML package

* remove those

* add comments back

* fix lock

* fix those
old-commit-hash: bc54ed794b2cd9dcb9522cdeb241ad78ac30d998
2023-12-16 20:48:57 -08:00
Harald Schäfer 8960f76597 K1FD: generate kalman gain at init (#29610)
* K1FD: generate kalman gain at init

* Update interfaces.py

* Update interfaces.py

* Update interfaces.py

* Update ref_commit
old-commit-hash: f1b8a8646438008b35c0445812b818745ad01fc2
2023-08-25 13:44:03 -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
Shane Smiskol 1a2818d775 Revert "radard: tie radard frequency to modelV2 vol. 2 (#29240)" (#29474)
* Revert "static analysis fixes"

This reverts commit 2271d0adf9a02aee1359717c47cb6280893a6b9b.

* Revert "radard: tie radard frequency to modelV2 vol. 2 (#29240)"

This reverts commit 6757e90415766e84ad1b6c921a2edb29ceb3bbbe.

* update refs
old-commit-hash: 1a08c2986e5600dd4e84bfeaed26c74e679085de
2023-08-18 22:56:43 -07:00
Jason Young ac83f87b36 interfaces: add common STD_CARGO_KG to mass (#29416)
* cleanup std_cargo_kg

* fix Sonata mass

* remove snowflake construct

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: f76ffbdbbcef50ba201edc0349f777e4e372b515
2023-08-17 21:06:07 -07:00
Jason Young b4614b3c28 car interfaces: cleanup tire stiffness calculation (#28263)
* cleanup tire stiffness calculation

* bump cereal

* think these todos still apply

* gm: same default

* revert comments

* bump

* update refs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 90c4bbe8e4ee11f3c1289a0dbb93262824fa430c
2023-08-15 14:17:08 -07:00
Kacper Rączy 4017b1707c radard: tie radard frequency to modelV2 vol. 2 (#29240)
* radard: tie radard frequency to modelV2

Accumulate parsed messages until state is updated (toyota)

Same for honda

Rename rr to something more descriptive

* Change _update method name, since signature has changed

* Update ref commit

* Some renames

* Check for number of cans
old-commit-hash: 460f5c8e0b2fd2c420e211b09b70d1d79834a929
2023-08-11 18:07:06 -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
Kacper Rączy c92e7265a6 Revert "radard: tie radard frequency to modelV2 (#29063)" (#29243)
This reverts commit 4b221cb4fd271664ab7d39c5cfefb4225ca07c2a.
old-commit-hash: 1774b4fc61c8f92fae16545a68854238660737e6
2023-08-04 20:25:40 -07:00
Kacper Rączy 79fa322d4a radard: tie radard frequency to modelV2 (#29063)
old-commit-hash: 255f5c13f2d8c6796fd960b248856f11a3c1b05a
2023-08-03 22:10:21 -07:00
Vivek Aithal ad986b39cf [GMC ACADIA DENALI 2018] Move to torque control, non-linear feed-forward (#28923)
* move GMC ACADIA to torque control, with a Bolt-like feedforward

* update offline values

* update offline values

* reduce friction

* update values

* update values

* cleanup
old-commit-hash: 3612c12b14b90bdc14151194b560a5ff8216b9e0
2023-07-21 11:28:48 -07:00
Shane Smiskol d916e0ed2d Car docs: pass docs flag to car interfaces (#27311)
* docs

* docs

* docs

* docs

* use docs in gm
old-commit-hash: 5aebdb0ad0e7e527f5deb553ffd193abea02a357
2023-04-18 12:22:22 -07:00
Adeeb Shihadeh fd8e3d180d don't show temp steering faults while overriding (#27797)
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: e7c0db457a5269cbc66e086e1295cef7152b0c30
2023-04-04 11:28:13 -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
Adeeb Shihadeh 956918eb1d GM: revert custom Bolt torque tune (#27403)
* Revert "GM: cleanup torque feedforward function (#27347)"

This reverts commit cdd8f003e3571d4b33fc71c4bc23744cea02140c.

* Revert "Chevrolet Bolt: Non-linear torque tune (#27344)"

This reverts commit b6737ca5903ecaac3d6322b92112ccb67116b149.

* update refs
old-commit-hash: 2008332bd42528ae56d937a2ec0e9a1dd244b2ea
2023-02-21 15:27:48 -08:00
Vivek Aithal 5edcf1380e Chevrolet Bolt: Non-linear torque tune (#27344)
* add non linear tune

* update refs

* rerun tests
old-commit-hash: e49748d571d06a65a4361dde1f2f63c7294da13a
2023-02-14 16:20:28 -08:00
Shane Smiskol acc8e38111 GM: enforce steering command message timing (#27250)
* draft

* bump opendbc

* still draft

* that's not right

* superset of the changes, 33hz

* cleanup

* this should work

* remove line

* pass it in again

* actually no need to check updated now

* now_nanos

* consistent name

* fix replay

* one line isn't that bad

switch

switch

* fix CarController tests

* Update ref_commit
old-commit-hash: 8f5057ff2dbea4ebc85bc8f55bc7a37e4d5969b6
2023-02-09 15:37:39 -08:00
Cameron Clough 363f26f80c Ford: add Lincoln Aviator 2021 to Ford Explorer platform (#27095)
* add Lincoln Aviator 2021 to Ford Explorer platform

Based on the Ford Explorer, the Aviator has very similar firmware
versions. Add these to the Explorer platform and create a new CarInfo
for the Aviator.

f0709d2bc6ca451f|2022-12-10--12-36-59--0

VIN: 5LM5J7XC8MGL09541

* Ford: new gear shifter signal to support Aviator

* probably don't need these

* don't need to pass None here, it defaults to None

* will rename in DBC

* bump opendbc

* bump process replay ref
old-commit-hash: b1e744987f88641577139061a6444b6357f5773a
2023-02-02 22:00:49 -08:00
Shane Smiskol 0ceb423ccc Car interface: require fingerprint and FW versions to get params (#26932)
* require fingerprint and FW versions

* add get_non_essential_params()

* comment

* all required

* classmethod, need to allow subclasses to override _get_params

* fix that

* fix

* fix

* wrong fix 🤦
old-commit-hash: b00bc4f57e2c9a3acb9e3b10528b7e30cbde43f1
2023-01-12 12:25:24 -08:00
Adeeb Shihadeh b67646e1ab Revert "Car interface: require fingerprint and FW versions to get params (#26766)"
This reverts commit ff80ac0f7525916211da2cd0fce2c9c5f35ef89d.

old-commit-hash: f14deae475f32af5b04fc2ef3744a77445ad8177
2023-01-12 11:28:04 -08:00
Shane Smiskol 28ceb52c33 Car interface: require fingerprint and FW versions to get params (#26766)
* require fingerprint and FW versions

* add get_non_essential_params()

* comment

* all required

* classmethod, need to allow subclasses to override _get_params

* fix that

* fix
old-commit-hash: b68dabb689104ef0819a6c881b800076deb866f6
2023-01-11 23:44:50 -08:00
Shane Smiskol 82be7d0b1b HKG CAN-FD: steering pressed filter (#26789)
* steering pressed filter

* use a counter

* parameterize

* double

* filter doesn't instantly reset on falling edge of true steering pressed

* Update selfdrive/car/interfaces.py

* Update selfdrive/car/interfaces.py

* Update selfdrive/car/hyundai/carstate.py

* add comment

* the pain of committing without pycharm

* more like a filter

* Update ref_commit
old-commit-hash: 9be7e527a908274522020481d3275b1ab6790c2e
2022-12-13 14:33:20 -08:00
Shane Smiskol d6f6b0de91 Car interface: set tire stiffness in common function (#26625)
* common stiffness

* GM uses factors
old-commit-hash: 712b9014d708ce77e87e2d1bb4dfe2d7665a8414
2022-11-29 12:50:27 -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
Shane Smiskol 8aadc8dda6 Car interface: set common params after port (#26613)
* remove pylint exception, _get_params takes no defaults

* clean up

* mock uses it too

* unused

* unused

* fix that

* bump

* Update selfdrive/car/interfaces.py
old-commit-hash: 860f441e2f122173c5034656aeed5706fd41e38f
2022-11-29 11:49:13 -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 a570984aa3 interfaces: disable on falling edge of cancel button (#26493)
* both

* Update ref_commit
old-commit-hash: ca37d0c8cc43a88189c2a96b02aed0edfe5aa32e
2022-11-13 20:50:28 -08:00
Vivek Aithal 3029919422 [torqued] Fix high speed oscillations (#26338)
* modify low speed factor during high speeds and rescale friction

* update refs
old-commit-hash: e9eb5d99ff659a3f5e1b4e0bead321c469d8d889
2022-11-07 17:01:24 -08:00
Jason Young 914c75d9ea Allow car port to define enable buttons (#25793)
* Allow car port to define enable buttons

* simplify

* oops
old-commit-hash: 135270f65cbde80c06aee1773b9ca802bd32f419
2022-10-12 16:27:23 -07:00
Vivek Aithal 51d25b2011 Live torque (#25456)
* wip torqued

* add basic logic

* setup in manager

* check sanity and publish msg

* add first order filter to outputs

* wire up controlsd, and update gains

* rename intercept to offset

* add cloudlog, live values are not updated

* fix bugs, do not reset points for now

* fix crashes

* rename to main

* fix bugs, works offline

* fix float in cereal bug

* add latacc filter

* randomly choose points, approx for iid

* add variable decay

* local param to capnp instead of dict

* verify works in replay

* use torqued output in controlsd

* use in controlsd; use points from past routes

* controlsd bugfix

* filter before updating gains, needs to be replaced

* save all points to ensure smooth transition across routes, revert friction factor to 1.5

* add filters to prevent noisy low-speed data points; improve fit sanity

* add engaged buffer

* revert lat_acc thresh

* use paramsd realtime process config

* make latacc-to-torque generic, and overrideable

* move freq to 4Hz, avoid storing in np.array, don't publish points in the message

* float instead of np

* remove constant while storing pts

* rename slope, offset to lat_accet_factor, offset

* resolve issues

* use camelcase in all capnp params

* use camelcase everywhere

* reduce latacc threshold or sanity, add car_sane todo, save points properly

* add and check tag

* write param to disk at end of route

* remove args

* rebase op, cereal

* save on exit

* restore default handler

* cpu usage check

* add to process replay

* handle reset better, reduce unnecessary computation

* always publish raw values - useful for debug

* regen routes

* update refs

* checks on cache restore

* check tuning vals too

* clean that up

* reduce cpu usage

* reduce cpu usage by 75%

* cleanup

* optimize further

* handle reset condition better, don't put points in init, use only in corolla

* bump cereal after rebasing

* update refs

* Update common/params.cc

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* remove unnecessary checks

* Update RELEASES.md

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 4fa62f146426f76c9c1c2867d9729b33ec612b59
2022-09-19 15:19:26 -07:00
Vivek Aithal 3326487104 Torque Refactor (#25822)
* add torque gains refactor

* update refs

* avoid dict, use cereal struct

* bugfix

* no as_builder

* address final comments
old-commit-hash: 85ed5c4cb5d9b0132ab0e3eb5bcb096026f70b22
2022-09-17 00:07:54 -07:00
Shane Smiskol cfc3213ac1 ui: support ego speed hysteresis (#25702)
* toyota: match set speed from dash

* Use unit bit

* Use RSA2

* flip this

* Universal unit signal, set vEgoCluster

* remove this and bump opendbc

* detect if car interface sets cluster fields

* revert

* needs to be cp

* UI_SPEED is actually always in kph?

* forgot to actually convert it

* same in onroad

* try conv factor only for imperial

* Seems like UI_SPEED is not the UI speed at all

* the dash might floor it

* same openpilot behavior

* bump

* ego speed factor is dynamic across speeds, handle Lexus exceptions with
diff msg

* remove test, bump opendbc

* secret formula

* secret formula v2

* 1.03 is sufficient

* try short press

* bump opendbc

* surely this can be cleaned up

surely this can be cleaned up

* use filter

* redo factors

* try UI_SPEED again with a factor

try UI_SPEED again with a factor

* dash applies hysteresis to speed. this matches pretty well, but not exactly

* make hysteresis generic

* clean up

* revert this

* try this

* read from fake params

* should be mostly good for imperial now

* revert

* revert

* remove toyota stuff

* common function for everyone

* rm line

* fix

* an example with Toyota

* use CS.out

* one mph

* 1 kph

* cmt

* remove cmt

* abs it

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: ef26abcf658b9fe13f939c43a31f57bd6ae25232
2022-09-13 23:34:51 -07:00
Shane Smiskol c1b9a202aa controls: enter overriding state for steering override (#25617)
* lateral overriding is overriding

* Update test

* remove

* also could do something like this and only have one OVERRIDE ET

* Revert "also could do something like this and only have one OVERRIDE ET"

This reverts commit 5c381641c08961676a56a9718fbdaa84989ac249.

* full names

* bump cereal

* test every event type

* update refs
old-commit-hash: 992707c1724ab0047ddd6e230b82e47ae51b25ed
2022-09-13 23:20:45 -07:00
Adeeb Shihadeh e4f9781c17 single longitudinal toggle for e2e and disable radar (#25688)
* single longitudinal toggle for e2e and disable radar

* write disable radar param

* rename

* better param name

* clean that up

* update refs

* update translations

* not live for experimental

* write it out

* vanish
old-commit-hash: 655a64b60318ce44ef0271e03de16e8b135b5268
2022-09-07 17:12:49 -07:00