Commit Graph

46 Commits

Author SHA1 Message Date
YassineYousfi
cad17b1255 modeld: parsing and publishing in python (#30273)
* WIP try modeld all in python

* fix plan

* add lane lines stds

* fix lane lines prob

* add lead prob

* add meta

* simplify plan parsing

* add hard brake pred

* add confidence

* fix desire state and desire pred

* check this file for now

* rm prints

* rm debug

* add todos

* add plan_t_idxs

* same as cpp

* removed cython

* add wfd width - rm cpp code

* add new files rm old files

* get metadata at compile time

* forgot this file

* now uses more CPU

* not used

* update readme

* lint

* copy this too

* simplify disengage probs

* update model replay ref commit

* update again

* confidence: remove if statemens

* use publish_state.enqueue

* Revert "use publish_state.enqueue"

This reverts commit d8807c8348338a1f773a8de00fd796abb8181404.

* confidence: better shape defs

* use ModelConstants class

* fix confidence

* Parser

* slightly more power too

* no inline ifs :(

* confidence: just use if statements
2023-10-19 14:23:51 -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
Shane Smiskol
4e9bddee5c longcontrol: enter stopping state immediately (#26879)
* enter stopping state immediately

* Update selfdrive/controls/lib/longcontrol.py
2023-01-10 13:02:43 -08:00
Shane Smiskol
a19b5b91d2 longcontrol: ignore cruise standstill if interceptor (#26597)
* ignore standstill

* cmt

* standstill

* rm cmt

* flip
2022-11-24 18:17:36 -08:00
Harald Schäfer
a7ced7c54b Longcontrol: faster transition from starting to stopping (#26361)
* Never command accel when stopping

* Update ref_commit
2022-11-04 13:21:34 -07:00
Shane Smiskol
84adb8d925 GM: raise max brake (#25810)
* -4 didn't make any sense?

* comments

* comments

* update to 400

* bump panda

* remove unused iso limit vars

* update comments

* bump panda

* Update selfdrive/car/gm/values.py

* Update ref_commit
2022-10-04 00:39:19 -07:00
Lee Jong Mun
7df0e3efcf remove blank whitespace (#25921) 2022-09-29 13:52:41 -07:00
Shane Smiskol
056b2ec2ed Longcontrol: fix possible reference before assignment (#25715)
fix possible reference before assignment
2022-09-08 21:43:04 -07:00
HaraldSchafer
210a6163ac Let planner decide stopping state (#25643)
* Let planner decide stopping

* Refactor stop/start state machine

* Stay stoppe condition

* 1sec from target

* Add starting state

* Add starting state logic

* Undo some changes

* Update ref
2022-09-06 21:30:10 -07:00
HaraldSchafer
843e59f6f0 Misc torque control fixes (#24801)
* Fiction compensation should be based on error

* Update refs

* Add deadzone

* update ref
2022-06-10 22:52:48 -07:00
Shane Smiskol
c9be2f02c3 Clean up controllers (#24340)
* clean up lat controllers

* pass CP once

* sort
2022-04-28 00:42:52 -07:00
HaraldSchafer
634f7cebef Make PI into a PID (#24151)
* Make PI into a PID

* Cast like before
2022-04-07 11:34:45 -07:00
Shane Smiskol
f1f40c117a Add Disengage on Accelerator Toggle (#23977)
* Squashed commit of the following:

commit 953bcf0ecf8d03f0fec9ce0d5442cc660ae2347d
Merge: b4198608d 333257bad
Author: Shane Smiskol <shane@smiskol.com>
Date:   Fri Apr 1 19:58:06 2022 -0700

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit b4198608dac9595bfeb9443f95cd6c5d385cd62d
Merge: 24f90b2c8 0b9790dd2
Author: Shane Smiskol <shane@smiskol.com>
Date:   Fri Apr 1 14:32:54 2022 -0700

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit 24f90b2c8d6ae509c0776b6e33b743467aa08dee
Author: Shane Smiskol <shane@smiskol.com>
Date:   Thu Mar 31 14:07:52 2022 -0700

    revert changes and get ready for override

commit aa514df6b5e8431f0faa07f6b25eb5cb6c9f2749
Author: Shane Smiskol <shane@smiskol.com>
Date:   Wed Mar 30 20:52:24 2022 -0700

    temporary

commit c874e10c2555968c683f629c4582ab22e51d431f
Author: Shane Smiskol <shane@smiskol.com>
Date:   Wed Mar 30 00:30:13 2022 -0700

    move gasPressed to controlsd

commit fe670439dff5bc6dfc5963d79ca2febe0c5920c7
Merge: 49d3b6d11 81862fce7
Author: Shane Smiskol <shane@smiskol.com>
Date:   Wed Mar 30 00:15:48 2022 -0700

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit 49d3b6d1162893fa94b2294152f0718eeb4698ed
Merge: 475b27e74 d60c44e03
Author: Shane Smiskol <shane@smiskol.com>
Date:   Mon Mar 28 13:06:08 2022 -0700

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit 475b27e74fd6479f1d148e9ded1eca6ee476865c
Author: Shane Smiskol <shane@smiskol.com>
Date:   Thu Mar 24 20:24:59 2022 -0700

    update SAFETY.md

commit 0798eadb82749e12ecbaa86f4e57b21bd3dbc7e8
Author: Shane Smiskol <shane@smiskol.com>
Date:   Thu Mar 24 17:52:06 2022 -0700

     ➡️ 🔋

    bump

commit d2b64b89cf8d7265bc90848b4e3a2276c9a4cb78
Author: Shane Smiskol <shane@smiskol.com>
Date:   Thu Mar 24 16:19:34 2022 -0700

    these changes will be in border PR

    these changes will be border PR

commit bed31e63de2244c161729773978fef8a9246ddb5
Merge: 491417640 e91613bc6
Author: Shane Smiskol <shane@smiskol.com>
Date:   Thu Mar 24 16:17:31 2022 -0700

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit 49141764098e3a701ff123ead52de4656b31db4d
Merge: 9291e9f00 c88ced1f1
Author: Shane Smiskol <shane@smiskol.com>
Date:   Wed Mar 23 19:00:26 2022 -0700

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit 9291e9f0045780669b2ffa7f08fb10373c03b070
Merge: 2aed64157 99c02bdd2
Author: Shane Smiskol <shane@smiskol.com>
Date:   Fri Mar 18 19:03:13 2022 -0700

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit 2aed64157d6e9dc993d103a2c6abf7e643410562
Author: Shane Smiskol <shane@smiskol.com>
Date:   Fri Mar 18 19:03:03 2022 -0700

    Revert "send pre-enable state when gas is pressed"

    This reverts commit 8d82e697dc2efade307413e767d14b56b4d2d079.

commit a219defe5342efa731a957b2ff4fd86292c1f239
Author: Shane Smiskol <shane@smiskol.com>
Date:   Thu Mar 17 12:50:46 2022 -0700

    bump cereal

commit 8d82e697dc2efade307413e767d14b56b4d2d079
Author: Shane Smiskol <shane@smiskol.com>
Date:   Wed Mar 16 22:40:13 2022 -0700

    send pre-enable state when gas is pressed

    formatting and it's out

    forgot one

    allow gas press

    show toggle

    revert changes

    revert changes

commit 5eb4d1ab1b77ac65bdd901f692ebfb848d5187ca
Merge: bad1bdc74 db7b49c71
Author: Shane Smiskol <shane@smiskol.com>
Date:   Wed Mar 16 22:29:43 2022 -0700

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit bad1bdc7428c5d8a4a765b259da504f0ade84424
Author: Shane Smiskol <shane@smiskol.com>
Date:   Tue Mar 15 23:03:56 2022 -0700

    clean up a bit

commit 7516ed9b786536a07f00a92b9c1742ca252a01d1
Author: Shane Smiskol <shane@smiskol.com>
Date:   Tue Mar 15 22:55:09 2022 -0700

    these are null checks right now

commit 408f5f1d633521b29b08d966c9b387fa79dff0d6
Author: Shane Smiskol <shane@smiskol.com>
Date:   Tue Mar 15 22:51:14 2022 -0700

    should work

commit be1978e29c03d8843cf073cc9ddf84020fd2b378
Author: Shane Smiskol <shane@smiskol.com>
Date:   Tue Mar 15 22:36:16 2022 -0700

    stash

commit f0bd4c47e9d27061c6cd3b88765a7c10995f42db
Author: Shane Smiskol <shane@smiskol.com>
Date:   Tue Mar 15 22:26:24 2022 -0700

    this was flipped

commit d5b6e30389a727e8559331acd706422e1b246f60
Merge: 820b19894 5fe00fb77
Author: Shane Smiskol <shane@smiskol.com>
Date:   Tue Mar 15 22:25:49 2022 -0700

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit 820b1989496225df1f66f39b477f1e9402db1b19
Merge: 91763f9ff d7c758d4b
Author: Shane Smiskol <shane@smiskol.com>
Date:   Mon Mar 14 23:39:34 2022 -0700

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit 91763f9ff4321986babce1a7b1272fcf64c8f753
Author: Shane Smiskol <shane@smiskol.com>
Date:   Thu Feb 24 20:15:26 2022 -0800

    add icon from jozef 🔥

commit 1885c9e2bacd9351c7e421b1436dcbfbde238436
Merge: 1f591736a 9c70e8bca
Author: Shane Smiskol <shane@smiskol.com>
Date:   Thu Feb 24 20:08:07 2022 -0800

    Merge remote-tracking branch 'upstream/master' into disengage-on-gas

commit 1f591736a2767b1ed892c29ec5000cc7348f01c7
Merge: 465811f0b 7410160d0
Author: Jason Wen <47793918+sunnyhaibin@users.noreply.github.com>
Date:   Sat Feb 12 10:24:29 2022 -0500

    Merge branch 'master' into disengage-on-gas

commit 465811f0b4776e43a289398e4d4369362b7da58c
Author: Jason Wen <haibin.wen3@gmail.com>
Date:   Fri Feb 11 11:20:32 2022 -0500

    Add param to process replay

commit 0344363a533505435cff87eb33356b2364a4156f
Merge: 700efcb3f 3e915cf62
Author: Jason Wen <47793918+sunnyhaibin@users.noreply.github.com>
Date:   Fri Feb 11 11:07:31 2022 -0500

    Merge branch 'master' into disengage-on-gas

commit 700efcb3f444092f99ef10e9908f83402429d742
Author: Jason Wen <haibin.wen3@gmail.com>
Date:   Fri Feb 11 11:04:39 2022 -0500

    Add param to unsafeMode

commit 220ce272fee1f7f5ace2a04052605a6e4f95712b
Author: Jason Wen <haibin.wen3@gmail.com>
Date:   Fri Feb 11 10:54:16 2022 -0500

    Add param to unsafeMode

commit d273bb78acbc23ee5255e461fa71b2f0400a5e03
Author: Jason Wen <haibin.wen3@gmail.com>
Date:   Fri Feb 11 10:52:22 2022 -0500

    Resolve conflicts

commit 1a85afd60c2f0d3140dfa8e7cd574d6b88abd5e3
Author: Jason Wen <haibin.wen3@gmail.com>
Date:   Fri Feb 11 10:51:50 2022 -0500

    Resolve conflicts

commit e3be32afc2bb2423d29e2b4f85b3cff3fe72aab9
Author: Jason Wen <haibin.wen3@gmail.com>
Date:   Fri Feb 11 10:51:08 2022 -0500

    Resolve conflicts

commit f27203af3afe612173bf9a63e15c57118598b5b8
Author: Jason Wen <haibin.wen3@gmail.com>
Date:   Wed Jan 19 00:30:09 2022 -0500

    Add param to process replay

commit 04c0ad1a54f4fea5efe74b3203d9bdbd693b64a6
Author: Jason Wen <47793918+sunnyhaibin@users.noreply.github.com>
Date:   Wed Jan 19 00:28:49 2022 -0500

    Update interfaces.py

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

commit 99cf13caeb4d9f2c95c25e1e78b6e353ea508cb6
Author: Jason Wen <haibin.wen3@gmail.com>
Date:   Sat Jan 15 00:03:38 2022 -0500

    Fix missing params lib

commit 2230254ca709625d591b0c73d1a6022c450f6ef6
Author: Jason Wen <haibin.wen3@gmail.com>
Date:   Fri Jan 14 23:38:46 2022 -0500

    Disengage on gas toggle

commit 87475e02cb63cc39c9b16edc67f303e02d17e6ef
Author: Jason Wen <haibin.wen3@gmail.com>
Date:   Fri Jan 14 23:24:00 2022 -0500

    Disengage on gas toggle

* bump

* use ALTERNATIVE_EXPERIENCE

* or it

* de-bump

* update refs

* update refs!

* you can just ctrl+click ALTERNATIVE_EXPERIENCE!

* already have a params

* update text
2022-04-04 21:59:52 -07:00
Shane Smiskol
7254db3906 LongControl: fix control state oscillation (#23333)
* 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
2022-03-03 03:27:24 -08:00
Shane Smiskol
2c7845fce0 Longitudinal control: interpolate longitudinal plan (#23787)
* interpolate longitudinal actuator delay

rename

* formatting

* interpolate v_target most importantly!

* fix interpolation and rename

* nicer setup

* left in from testing

* update refs
2022-02-18 00:45:00 -08:00
ClockeNessMnstr
9535dc606d Longitudinal: add Kf to carParams (#23752)
* sane_kf

* long_kf + cereal

* update ref

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2022-02-16 15:38:22 +01:00
Shane Smiskol
9de8f8cd8c 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>
2022-01-26 17:10:41 +01:00
Dean Lee
4208fe018e LongControl: remove redundant check on active (#23481) 2022-01-10 18:46:02 +01:00
Dean Lee
a2e762e0b9 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>
2022-01-05 14:23:08 +01:00
Shane Smiskol
cf9792dc53 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>
2022-01-04 15:40:39 -08:00
Dean Lee
5dc631fa1b longcontrol/update: optimize capnp (#23382) 2022-01-04 11:32:54 +01:00
Shane Smiskol
2799ef5292 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
2021-12-14 12:09:32 -08:00
HaraldSchafer
048cc3ac9f Longcontrol : pid error should be 0 when plan is followed (#23066)
* v_pid error should be 0 when plan is followed

* update ref
2021-11-29 15:22:02 -08:00
Shane Smiskol
113988ae31 longitudinal: only apply overshoot prevention when braking (#22986)
* only if braking is desired

* use v_target to determine stopping

* more clear?
2021-11-29 11:29:32 +01:00
sshane
bdaea086f8 Longcontrol: do not clip vEgo to minSpeedCan (#22832)
* fix tss2 slow reacceleration in sng

(should) preserve stopping behavior

add comments since it's confusing

fix

* Revert "fix tss2 slow reacceleration in sng"

This reverts commit 42abde0eb945d8bc5ad9b502d1d89b3e3dc16f8a.

* don't max(vEgo)

* update ref

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-11-11 13:24:38 +01:00
Willem Melching
417e229624 Add upper/lower bounds for longitudinal lag (#22235)
* Add upper/lower bounds for longitudinal lag

* add ref

* update ref

* bump cereal

* bump cereal
2021-09-14 18:57:16 -07:00
Willem Melching
b7d1aac197 Parameterize longitudinal control using carParams (#22200)
* use CP.startAccel

* missing values

* order

* update ref

* cereal
2021-09-11 18:01:54 -07:00
Willem Melching
1e62b09e5d Use CP.vEgoStopping and clean up CP.startAccel (#22199)
* use CP.vEgoStopping and clean up

* update ref
2021-09-11 17:13:30 -07:00
HaraldSchafer
74b6c87254 cleanup old nidec accel override logic (#22181)
* cleanup old nidec accel override logic

* add ref without deprecated fields

* no more override
2021-09-10 10:34:18 -07:00
Willem Melching
21ae64868e put LongControlState in CarControl.Actuators (#22154) 2021-09-06 18:45:59 -07:00
Willem Melching
b39f6efa3f parameterize longitudinal actuator delay (#22153)
* paremetrize longitudinal actuator delay

* update ref
2021-09-06 17:56:52 -07:00
Willem Melching
f941111dcd Clean up PID controller ACCEL_MIN/ACCEL_MAX (#22148)
* use ISO 15622:2018 limits in PID controller

* allow more for nidec

* limit PID inputs

* CP is not needed

* add GM

* not used

* update ref

* fix honda bosch
2021-09-06 17:29:32 -07:00
HaraldSchafer
ebf2a2279d Prevent PID windup on Honda NIDEC (#22112)
* add higher set speed

* freeze when close to cruise

* dont bias this

* higher set speed

* start high

* 2mph might be needed

* better condition

* limit accel windup like this

* wrong name
2021-09-02 14:16:44 -07:00
Harald Schafer
a4ae99a489 unused 2021-09-01 16:46:17 -07:00
Willem Melching
edae2218d7 Smarter longitudinal lag compensations (#22094)
* smarter lag compensations

* need to use speed from plan

* update ref

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
2021-09-01 15:28:16 -07:00
HaraldSchafer
1ac89f14aa Change car controller interface from gas/brake to acceleration (#21911)
* retune civic

* seems smooth

* back to normal

* new ref

* fix conflict

* runs

* rm

* accel scale is 4

* toyota should be good

* more cleanup

* fixup

* better naming

* update ref

* deprecated

* sending brake when not enable causes a fault

* rm gas and brake

* unused

* update ref

* acura logic is no more

* wrong before

* revert tuning cleanup

* adress comments

* update ref

* already on master

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-08-30 09:32:52 -07:00
sshane
737a79e556 longitudinal comments (#21898)
* cmt

* Update longcontrol.py
2021-08-11 01:33:59 -07:00
HaraldSchafer
be5ddd25cd Refactor long (#21433)
* refactor

* needs casting

* tests pass

* fix that test

* refactor in controls

* lets not go crazy

* change of names

* use constants

* better naming

* renamed

* soft constraints

* compile slack variables

* rm git conflict

* add slack variables

* unused

* new edition

* fcw

* fix tests

* dividing causes problems

* was way too slow

* take a step back

* byeeee

* for another time

* bad idxs

* little more cpu for cruise mpc

* update refs

* these limits seem fine

* rename

* test model timings fails sometimes

* add default

* save some cpu

* Revert "little more cpu for cruise mpc"

This reverts commit f0a8163ec90e8dc1eabb3c4a4268ad330d23374d.

* Revert "test model timings fails sometimes"

This reverts commit d259d845710ed2cbeb28b383e2600476527d4838.

* update refs

* less cpu

* Revert "Revert "test model timings fails sometimes""

This reverts commit e0263050d9929bfc7ee70c9788234541a4a8461c.

* Revert "less cpu"

This reverts commit 679007472bc2013e7fafb7b17de7a43d6f82359a.

* cleanup

* not too much until we clean up mpc

* more cost on jerk

* change ref

* add todo

* new ref

* indentation
2021-07-07 19:42:26 -07:00
Igor
717bc747c3 Parametrize startingBrakeRate (#19511)
* Parametrize startingBrakeRate

* new ref_commit
2020-12-16 20:58:07 +01:00
Igor
d3c2a0e6c1 Parametrize stoppingBrakeRate (#2745)
* Parametrize stoppingBrakeRate

* ref_commit updated
2020-12-11 16:30:35 +01:00
Igor
093456cc40 Parametrize MIN_CAN_SPEED in car interfaces (#2684)
* Parametrize MIN_CAN_SPEED in car interfaces

* fixed instance in planner.py

* fix typo

* var name change

* changed var name to minSpeedCan for consistency with other uses of CAN in the capnproto files

* added default value to get_std_params, removed unneeded instances from car interface files

* Revert PEP8 autoformat corrections

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2020-12-04 11:09:34 +01:00
qadmus
254814cc79 remove unused globals, use self.reset() (#2220)
Co-authored-by: user <email@web.com>
2020-09-24 11:39:47 +02:00
Shane Smiskol
ebadb39e42 Fix hard deceleration after user accelerates above set cruise speed (#1880)
* Fix hard deceleration after user accelerates above set cruise speed

* 2nd required change
2020-07-20 17:04:05 +02:00
Adeeb Shihadeh
6466ec982a enable flake8 E502: backslash is redundant between brackets 2020-05-31 17:41:18 -07:00
Adeeb
08832ff29d Controlsd refactor (#1487)
* it's a class

* more refactor

* remove that

* car interface should create that

* that too

* not a dict

* don't create permanent events every iteration

* break up long lines

* fix honda

* small optimization

* less long lines

* dict is faster

* latcontrol less args

* longcontrol less args

* update profiling script

* few optimizations

* create events together

* clean up

* more clean up

* remove comment

* clean up

* simplify state transition

* more clean up

* update comments
2020-05-12 15:06:48 -07:00
George Hotz
b0260dadba selfdrive/controls 2020-01-17 12:48:30 -08:00