Commit Graph

65 Commits

Author SHA1 Message Date
YassineYousfi
91751770a8 (New) Lemon Pie Model 🍋 (#30209)
* 6f6e3749-1b7c-42e8-a33b-03929b7fc476/700

* oops deleted too much

* 1b4308b7-a659-4ebd-b4c6-c81c1c3890f8/700

* 1be192f3-f407-4217-9757-78b9ad92750a/700

* remove some todos

* more cleanup in lat planner

* vego > min_speed

* regen and update process replay refs

* update model replay ref

* update model replay ref commit again

* Revert "update model replay ref commit again"

This reverts commit 922cb796b8dfe264b0cce7a18206bb898b18bcb3.

* update again

* bump cereal
old-commit-hash: 4c2bd853e4
2023-11-02 14:01:00 -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: a9626f95b6
2023-08-20 20:49:55 -07:00
Adeeb Shihadeh
51634f52dc replace custom clock helpers with time module (#29499)
* replace custom clock stuff wtih time module

* fix double

* fix release

* bump cereal

* update type

* fix one more
old-commit-hash: d61f86d339
2023-08-20 18:50:58 -07:00
Kacper Rączy
eb87a31bc5 Unpin numpy (#29421)
* Unpin numpy

* Update lock file

* leave acados comment

* Fix warnings

* Fix more paramsd warnings
old-commit-hash: 62a88e504d
2023-08-17 15:36:14 -07:00
Justin Newberry
d487c0501f Ruff: enable most of bugbear (#29320)
* added mutable default args

* most of the Bs

* add comment about lrucache
old-commit-hash: 62c1e65924
2023-08-11 15:33:49 -07:00
Kacper Rączy
9917924ee5 lateral_planner: expose solverState, solverCost in debug mode (#28577)
* Update cereal

* Add xs, ys, solverCost support in lat planner

* Update cereal

* Add support for debug mode. Add solverState

* Read debug mode from env

* Update cereal
old-commit-hash: 83d6552a15
2023-06-16 19:51:37 -07:00
Harald Schäfer
ef130058c6 Plannerd: higher upper bound cost for lateral planner (#28352)
20k not good upper bound for 10s
old-commit-hash: cbd3e5b946
2023-05-31 16:33:07 -07:00
Kacper Rączy
40094396b4 lateral_planner: init missing variables (#28222)
Init missing variables in LateralPlanner constructor
old-commit-hash: 7b68a13048
2023-05-17 14:04:17 -07:00
Vivek Aithal
4be83d0d57 Lateral Planner: Calibrate model speed with vEgo (#28049)
* calibrate speed in the lateral planner

* make speed err helper fn

* check if trans has values

* clip the vel_err

* update refs
old-commit-hash: a599890fed
2023-05-09 14:26:58 -07:00
Harald Schäfer
73561f01e0 Expand lateral MPC to 10s (#27343)
* 10s lat

* Full length MPC

* redfine N

* Leave controls the same for now

* Updates

* use long plan in lat plan

* interp plan

* add new interp

* simplergit add selfdrive/controls/plannerd.py selfdrive/controls/

* expand to 10s

* revert this

* fix linter

* Update sconscripts

* fix test

* fix test

* fix test

* Revert "Update sconscripts"

This reverts commit 6e23c69dcebd5ed003e37e01921f6af7c31de0db.

* Dont import drive helpers

* better compile deps

* fix compile

* comment

* update replay

* Update plannerd time
old-commit-hash: 04fe6c4ec7
2023-02-17 15:28:26 -08:00
HaraldSchafer
3b62f66008 Use same minimum speed for lateral planning and controls (#26177)
* Use same speed for lag adjustmenet

* One is a nicer number

* Update ref
old-commit-hash: 4f84b29985
2022-10-20 14:34:36 -07:00
HaraldSchafer
9c26b70a43 Partial revert, lax torque control (#26146)
* Closer to original

* Update ref
old-commit-hash: 1548db8962
2022-10-18 21:25:06 -07:00
HaraldSchafer
f9b65f9189 Low speed lateral like before (#26022)
* Add explicit cost on steering wheel movement

* Laxer low speed control

* Laxer low speed control

* Lower min speed now there is a cost

* 3m/s

* Similar to old master

* Add cost

* Crazy high

* Update ref

* comment
old-commit-hash: 2c9b150761
2022-10-11 14:53:43 -07:00
HaraldSchafer
a13f2deeeb Increase low speed jerk cost (#26008)
* Increase low speed jerk cost

* Update planner weight

* Update ref_commit

* Update lateral_planner.py

* cleanup and refactor

* Update ref_commit
old-commit-hash: fb07437819
2022-10-07 19:15:04 -07:00
HaraldSchafer
3488569ac3 Divide by 0 bug fix lateral planner (#25995)
* Divide by speed correctly

* Update

* Update lateral_planner.py

* Update ref_commit
old-commit-hash: 1ecf6f351c
2022-10-07 00:16:18 -07:00
HaraldSchafer
a8ec6f4cfd Rocket Launcher Model (#25963)
* 1456d261-d232-4654-8885-4d9fde883894/440 6b7d7cec-ead8-40f3-86cc-86d52c9b03fe/300

* compute only 9 tokens: 1456d261-d232-4654-8885-4d9fde883894/440 6b7d7cec-ead8-40f3-86cc-86d52c9b03fe/300

* tinygrad: cleanup gather

* 1456d261-d232-4654-8885-4d9fde883894/440 6b7d7cec-ead8-40f3-86cc-86d52c9b03fe/700

* empty commit for tests

* bump tinygrad

* dont use tinygrad matmul for now

* bump tinygrad

* 1456d261-d232-4654-8885-4d9fde883894/440 e63ab895-2222-4abd-a9a5-af86bb70e260/700

* float16 1456d261-d232-4654-8885-4d9fde883894/440 e63ab895-2222-4abd-a9a5-af86bb70e260/700

* increase steer rate cost

* Revert "increase steer rate cost"

This reverts commit 74ce9ab9be7ef17ecfec931f96851b12f37f2336.

* fork tinygrad

* empty commit for tests

* basics

* Kinda works

* new lat

* new tuning

* Move LATMPCN so scons compiles

* Update long weights

* Add tinygrad optim

* Update model ref

* update weights

* Update ref

* Try

* Error message for field ignore

* update model regf

* ref commit

* Fix onnx test

Co-authored-by: Yassine Yousfi <yyousfi1@binghamton.edu>
old-commit-hash: cb0b7375b7
2022-10-05 21:43:38 -07:00
HaraldSchafer
f25d434a01 Planner cleanup (#25969)
old-commit-hash: e5d2c3ce7a
2022-10-04 21:19:04 -07:00
HaraldSchafer
b8a6a961fe Remove lane planning code (#25651)
* Remove all lane planning logic

* Revert "Update ref"

This reverts commit 8dcb08ebccbb5641443459ac40601a95cf605682.

* bump cereal

* Update ref
old-commit-hash: 2eff6d0ebd
2022-09-04 13:07:51 -07:00
Chris Souers
179b0d1a81 Lateral planner: Don't prompt/initiate lane changes if lateral control is not active (#25436)
* Don't set lane change events if we're not able to steer.

* more specific variable name

* update process replay socket config

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 5b1ba4f135
2022-08-15 11:37:24 -07:00
HaraldSchafer
48522500ea Falcon Punch Model: turn cutting improvements (#25413)
* simplified change to mpc dynamics

* add jerk pts

* increase jerk cost

* increase jerk pts multipler to master value

* Add final commit

* 1456d261-d232-4654-8885-4d9fde883894/440 ac1a6744-85b0-4ec6-8ba7-608d0717b8f1/750

* some copies are useful

* update model replay ref

* less frames in model replay onnx cpu

* 1456d261-d232-4654-8885-4d9fde883894/440 264b67f5-3f52-4b58-b11f-58dd8aaf08bf/950

* 1456d261-d232-4654-8885-4d9fde883894/440 236fc556-fba3-4255-8ccf-684b22637160/950

* c9d10c64-bea4-41ec-8ca3-d8c886fda172/440 26d73dd2-862a-44ae-bbdd-32cc4f397ad7/900

* Fix couple tests

* Update ref

* Unused for now

* Add lateral factor comment

* Unused variable

Co-authored-by: nuwandavek <vivekaithal44@gmail.com>
Co-authored-by: Bruce Wayne <yassine@comma.ai>
Co-authored-by: Yassine Yousfi <yyousfi1@binghamton.edu>
Co-authored-by: Bruce Wayne <batman@gpu06.internal>
old-commit-hash: 041458f632
2022-08-12 00:47:59 -07:00
HaraldSchafer
b0b1aff5cc Rocket league model (#24869)
* dd9a502d-c8e2-4831-b365-804b0ae0739d/600 80041070-d276-4fed-bdb9-0075e5442908/420

* no elementwise op

* 9dabf0fe-2e60-44bf-8d3a-d20a74aca072/600 ae746590-0bb5-4a16-80db-15f02d314f03/300 c4663a12-b499-4c9b-90dd-b169e3948cb1/60

* explicit slice

* some copies are useful

* 1456d261-d232-4654-8885-4d9fde883894/440 c06eba55-1931-4e00-9d63-acad00161be0/700 af2eb6ba-1935-4318-aaf8-868db81a4932/425

* 154f663e-d3e9-4020-ad49-0e640588ebbe/399 badb5e69-504f-4544-a99e-ba75ed204b74/800 08330327-7663-4874-af7a-dcbd2c994ba7/800

* set steer rate cost to 1.0

* smaller temporal size

* Update model reg

* update model ref again

* This did upload somehow

* Update steer rate cost

Co-authored-by: Yassine Yousfi <yyousfi1@binghamton.edu>
old-commit-hash: 9283040d84
2022-06-15 15:29:42 -07:00
Adeeb Shihadeh
3c48bc47b7 Move a bunch of stuff to system/ part 3 (#24829)
* move swaglog.py

* timezoned

* logmessaged

* version.py

* fix linter
old-commit-hash: 0fce5d9045
2022-06-11 23:19:27 -07:00
ClockeNessMnstr
52a28d8938 update DH names + notes for MPC output curvatures (#24701)
* update names + notes for MPC outputs

"current_curvature" is not the correct description of what the MPC is outputting in it's curvature_ego state.
The MPC is integrating it's free variable, curvature_rate, such that curvature[0] is actually the desired_curvature before any delay.
inversely: the curvature_rate_desired is the desired rate of change to the setpoint and not the actual curvature rate. 

If we were to set the initial curvature = measured curvature in the MPC initiation these names would be correct. 
This was possibly how it was initially set up but the nomenclature here is now confusing.

* more notes

* match

* Clarify #1
old-commit-hash: b215d611b1
2022-06-07 09:41:03 -07:00
HaraldSchafer
55085a12db New model: better laneless (#24605)
* Fix ping pong

* Fix hugging: e6fd3a62-aa86-46d1-a414-19137ed1babc/800

* Remove lateral toggle

* a6da6265-1952-48dd-986b-2b5996dd2642/950

* Model replay commit

* Revert "Remove lateral toggle"

This reverts commit 69e57eb7e1a72e4bad5e12bcfded6ff431a21a0e.
old-commit-hash: 7da48ebdba
2022-05-24 09:11:31 -07:00
Willem Melching
871ecc451b commIssueAvgFreq: separate alert for avg freq check (#24150)
* commIssueAvgFreq: separate alert for avg freq check

* bump cereal

* bump cereal

* bump cereal

* freq_ok separate from alive

* bump cereal to master

* update_ref

* fix profiler
old-commit-hash: eaa5819211
2022-04-06 16:43:32 -07:00
Lukas Petersson
df8476118b Latency logging 2 (#24058)
* msg_order and gantt

* frameId in long/lat planner

* track frame id

* controls frame id

* graph tracked events

* graph json

* cloudlog timestamp

* c++ cloudlog

* add frame id

* bug fixes

* bug fixes

* frame id visionicp

* bug fixes and debug level

* timestamp log placement

* print timestamps in table

* translate events

* more logging

* bug fixes

* daemon boardd

* print logs with boardd

* more timestamp logs

* cleanup

* remove publish logs

* bug fix

* timestamp received

* timestamp received

* bug fixes

* use json lib

* ignore driver camera

* prep for new timestamp pipeline

* bug fix

* read new pipeline unfinnished

* read new pipeline

* bug fix

* add frame to controlsstate

* remove controlsstate

* print

* cleanup

* more cleanup + bug fix

* clock build issue

* remove unused imports

* format durations

* increase speed

* pr comments fixes

* conflicts

* set MANAGER_DAEMON for boardd

* clean script code

* bug fix + argparse

* remove rcv time

* bug fixes

* print without tabulate

* fix pre-commits

* plot gnatt

* color bug fix

* read without timestampextra

* bump panda

* mono time instead of frame id

* finnish script

* clean unused

* clean unused logging

* monotonic + json fixes

* del test

* remove whilelines

* bump laika

* cleanup

* remove deps

* logs nicer strings

* remove plotting from scirpt

* reset pipfile

* reset pipfile

* nicer strings

* bug fix

* bug fix

* pr comments cleaning

* remove plotting

* bug fix

* new demo route

* bump opendbc and panda

* cereal master

* cereal master

* script less komplex

* assertions

* matplotlib

* readme

* Update README.md

* graph html

* design fixes

* more code design

* Update common/logging_extra.py

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

* whitespace

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

* Update tools/latency_logger/latency_logger.py

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

* pr comments

* bug fix

* readme + env once

* clean swaglog

* bug fix

* Update tools/latencylogger/README.md

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

* revert

* revert

* clean swaglog with error

* remove typo file

* revert graph

* cereal

* submodules

* whitespaces

* update refs

Co-authored-by: Bruce Wayne <batman@workstation-openpilot2.internal>
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 65fca83abe
2022-04-05 21:05:45 -07: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: 6be70a063d
2022-01-25 13:40:03 +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: 0681474840
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: f76328b426
2022-01-18 14:51:03 +01:00
Dean Lee
384857f2b4 lateral_planner: use nympy.isnan().any() (#23500)
old-commit-hash: dbae5e7601
2022-01-12 15:56:41 +01:00
Dean Lee
55233b753b use ndarray.tolist to convert numpy array to float (#23485)
old-commit-hash: 35ec6ac1cb
2022-01-11 14:34:47 +01:00
Dean Lee
7276bf8197 controls: check contents in tuple instead of list (#23463)
old-commit-hash: b2beb5e6ba
2022-01-10 11:26:58 +01:00
Dean Lee
5fbbb129a6 lateral_planner.py/publish: follow capnp best practices (#23359)
old-commit-hash: 2ca0925da7
2022-01-02 11:55:24 -08:00
Shane Smiskol
1b79236fa0 Clean up planner files (#23031)
* clean up planner files

clean up planner files

* fix plant instance
old-commit-hash: 93fd662adf
2021-11-26 14:57:39 +01:00
HaraldSchafer
6eb5dce881 Lateral planner: lower max cost (#22960)
* prevent ping pong when tuning is not so great

* update refs
old-commit-hash: 24aadaf1f3
2021-11-17 20:24:10 -08:00
Jason Young
a283e88f37 Fix momentary false blind spot alerts when changing lanes (#22819)
* reset LaneChangeDirection after finishing

* update ref

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 2006fff2b6
2021-11-10 17:21:36 +01:00
Vivek Aithal
b16c806e9e plannerd: add useLaneLines to lateralPlan (#22699)
* add laneless toggle in lateral plan message

* update cereal

* add refs
old-commit-hash: 2ea4feffb9
2021-10-26 14:32:41 -07:00
Harald Schafer
92c2da52a9 plannerd: position std size check bug
old-commit-hash: 791de68689
2021-10-17 19:52:11 -07:00
HaraldSchafer
65a1b386dc Fix 0 init bug for acados lateral (#22225)
* this is needed somehow

* new ref
old-commit-hash: 0dc45eaf1c
2021-09-13 21:23:22 -07:00
HaraldSchafer
c422cce205 Port lateral planning to ACADOS (#22080)
* lateral acados

* looks good!

* add another solve, needed for init somehow

* use copy

* init correctly

* cleanup sconstruct

* Update files_common

* update cpu usage

* reset when invalid

* fix cpu usage

* cost_set doesnt leak

* new ref

* non leaky reset

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 7081ab4fb7
2021-09-13 19:06:54 -07:00
Adeeb Shihadeh
9de66112fb remove deprecated mpc logging code
old-commit-hash: 9be7cf2cda
2021-08-26 13:33:43 -07:00
Mitchell Goff
b7b87efed9 Retuned desire model (#21919)
* New model: d8e7f76f-7bec-4a83-af00-c0fae792527f/950

* Updated process replay refs

* Updated model replay ref
old-commit-hash: 05b37552f3
2021-08-12 21:06:26 -07:00
Mitchell Goff
2d0512b8a1 Revert "New desire model (#21729)" (#21805)
* Revert "New desire model (#21729)"

This reverts commit 709932b3bfb4c3b4f33711b8d07615469e762832.

* Updated process replay ref and reverted release notes
old-commit-hash: 15d6bbb47c
2021-07-30 14:34:29 -07:00
Mitchell Goff
3fb1a1c746 New desire model (#21729)
* New model: b822ee32-917c-4639-99f8-25be3e6aabad/900

* Enable keeps

* use new packet

* Send keep pulses once per second

* Updated model_replay_ref_commit

* New model: 0f160bf9-1bce-43e6-9785-564b2453eeac

* Bump model_replay_ref_commit

* Bump submodules

* New model: fd904bf9-5dd8-4619-8997-c5668400e078/550

* New model: fd904bf9-5dd8-4619-8997-c5668400e078/950

* No keeps

* Bumped model replay ref

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
old-commit-hash: e83973b9b3
2021-07-26 21:11:09 -07:00
Adeeb Shihadeh
477e2e22d3 Revert model (#21571)
* Revert "New desire model (#21458)"

This reverts commit 9db03d2a3fefff50b738d288beadc2c2e7c3165e.

* revert rel notes
old-commit-hash: 88424ede2c
2021-07-12 19:26:50 -07:00
HaraldSchafer
7fcdd04541 New desire model (#21458)
* New model: b822ee32-917c-4639-99f8-25be3e6aabad/900

* Enable keeps

* use new packet

* Send keep pulses once per second

* Updated model_replay_ref_commit

* New model: 0f160bf9-1bce-43e6-9785-564b2453eeac

* Bump model_replay_ref_commit

Co-authored-by: mitchell <mitchellgoffpc@gmail.com>
old-commit-hash: 4230d5d212
2021-07-07 19:44:17 -07:00
HaraldSchafer
96d4bfbff3 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
old-commit-hash: be5ddd25cd
2021-07-07 19:42:26 -07:00
HaraldSchafer
7e87930a20 Refactor lateral lag compensation (#21334)
* add T_IDXS

* refactor

* fix test

* unused

* typo

* needs casting

* Update selfdrive/controls/lib/drive_helpers.py

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

* deprecate field

* regen all

* new segs

* add todo

* split back

* clean

* bad names

* do in controls

* add arg

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 6838e1c82c
2021-06-30 14:19:39 -07:00
Willem Melching
51eb52fec4 Determine lane chane direction in preLaneChange state (#21119)
* Determine lane chane direction in preLaneChange state

* cleanup

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: de34d1a527
2021-06-04 10:03:13 +02:00
Willem Melching
002057e1f1 Fix ability to change lane change direction while in progress (#20765)
old-commit-hash: a57f10c202
2021-04-29 13:03:16 -07:00