Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steer oscillation for Prius/Prime #300

Closed
mtourangeau opened this issue Jul 17, 2018 · 7 comments
Closed

Steer oscillation for Prius/Prime #300

mtourangeau opened this issue Jul 17, 2018 · 7 comments

Comments

@mtourangeau
Copy link

mtourangeau commented Jul 17, 2018

This is to track the steer oscillation for the Prius/Prime which I think is a knowed issue.

I need someone else to test the steer oscillation fix for a Prius/Prime. I edited the selfdrive/car/toyota/interface.py and changed 2 values. I need someone else to test those value and give me more feedback.

The originales values are: (selfdrive/car/toyota/interface.py under if candidate == CAR.PRIUS: line 81)
ret.steerKpV, ret.steerKiV = [[0.4], [0.01]]

The steerKpV is like the steer power. I lowered the value to 0.3.

The steerKiV I’m not sure exactly what it is but I review a changes for the rav4 (Fixes wobble on new CRV #269) that help a lot the oscillation by lowering this value so I tried the same thing with my Prius Prime. I setted it to 0.005.
ret.steerKpV, ret.steerKiV = [[0.3], [0.005]]
I did not play a lot with this one because I didn't know exactly what it does but the oscillation is much much better that the original value. In the next few days, I will try different value. If someone can explain more in detail, what exaclty this variable does, it could help me. What are the min and max value?

Can someone else give it a try?

@oliverrevol
Copy link

oliverrevol commented Jul 20, 2018

Maybe kinda PID algorithm to help smooth the steering. JUST GUESSING...

REF.
https://en.wikipedia.org/wiki/PID_controller
The proportional term produces an output value that is proportional to the current error value. The proportional response can be adjusted by multiplying the error by a constant Kp, called the proportional gain constant.
Response of PV to step change of SP vs time, for three values of Ki (Kp and Kd held constant)
The contribution from the integral term is proportional to both the magnitude of the error and the duration of the error.

@ErichMoraga
Copy link
Contributor

I wasn't aware someone had a PR for "Steer oscillation for Prius/Prime". One should be aware I've got my own branches I've been sorting this out with, and of course my PR for Prime differentiation was already approved. You might as well join #erichmoraga in Slack too.

Ping Pong in straights has been mostly eliminated for months, so I've been sorting it out for curves. I really don't recommend approving any PR like this 'til there's major consensus among the Prius Prime group, one of the reasons my channel is mostly a select group of Prime drivers.

@mtourangeau
Copy link
Author

I leave my latest number here for reference or in case I download a newer version and overwrite my value on my eon. So it’s kind of a backup 😀

81 ret.steerKpV, ret.steerKiV = [[0.35], [0. 0002]]
82 ret.steerKf = 0.000075 # full torque fo r 10 deg at 80mph means 0.00007818594
83 # TODO: Prius seem to have very laggy act uators. Understand if it is lag or hysteresis
84 ret.steerActuatorDelay = 0.1

@legonigel
Copy link

Give the age of this issue and recent changes in controls. If the issue still affects the latest release, it can be reopened or a new issue opened.

@mtourangeau
Copy link
Author

It’s not fixed but a work in progress.

@ErichMoraga
Copy link
Contributor

I basically have it fixed with some code I've been testing.
@mtourangeau can DM me on Discord for details if he wants to test.

@pratikchhatbar
Copy link

@ErichMoraga I would like to test the code - I've been using EON 0.5.10 on my Prius Four 2016 and pretty much this lateral wobble fix would make it an order of magnitude better!

pd0wm pushed a commit that referenced this issue Nov 5, 2019
256d274 Fix Mac installation instruction per: https://github.com/commaai/panda/pull/308/files
bfd8ff1 Update cppcheck commit with more coverage
b143a1c Fixed Misra complaint
606f1d9 Fixed RTC on non-uno boards, second try. Cannot work when there is no xtal.
933c757 Fix RTC on non-uno boards (#311)
48d0d0c VW button spam: fix safety and add tests (#306)
6cccf96 Fan and IR at 0 when in power savings mode (#309)
0537328 board get_sdk scripts were left on python2
de18a7e bump version after uno merge
1965817 Changed default values for testing
a12a148 Uno (#274)
7d29dc5 bump panda version. We really need a better way
4007532 VW: stricter limits to comply with comma safety policy
e2e2be9 add safety mode to health packet
101238c turned on VW ignition based CAN logic
a0d8d5d fix misra 5.3: check_ignition is intended as check_started and can't be used twice
ea636de made check_ignition function to both look at ignition_line and ignition_can
1102e69 make ignition logic common for all cars (#303)
3a110c6 bump version after CMSIS core upgrade
55dfa52 Update core to CMSIS 5.6 release  (#251)
ee86490 fix linter 2
f410b11 fix linter
55957d6 proper python3 exception inheritance
6ba0f47 fix linter errors
5c49fe0 Merge pull request #145 from gregjhogan/uds
0f36199 timeout is float
396d6aa safety_replay only installs few extra requirements
25af7d3 Misra also need python 3 env
7434c5c centralize requirements for tests
a0c37c7 coverage not needed in linter reqs
fce38a9 Linter python (#299)
62e2f5c update cppcheck commit
711810d more uds debug
4454e3a better CAN comm abstraction
6b1f28f fix more encoding and some bytes cleanup (#300)
43adad3 fix WARNING_INDICATOR_REQUESTED name
9c857da 0x
b64d6fa typing
768fdf7 bytes() > chr().encode()
1be15ea custom errors from thread
68da831 more python3
eb358e8 uds lib example
4f28858 updates for python3
932745f support tx flow control for chunked messages
b1c3712 add timeout param
cdf2f62 bug fixes
b1a3195 fix rx message filtering bug
80fb6a6 convert uds lib to class
59cd2b4 handle separation time in microseconds
4429600 fix separation time parsing
c641e66 fix typo
48b8dcc fix flow control delay scale
78f413d flow control delay
33a5167 bug fixes
8ee89a0 multi-frame tx
5e89a9c clear rx buffer and numeric error ids
9662300 fix remaining size calculation
01ef1fa zero pad messages before sending
1ddc973 uds can communication
dca176e syntax errors
95be481 SERVICE_TYPE enum
98e73b5 more UDS message type implementation
c1c5b03 uds lib
162f485 fix chr to bytes conversions (#298)
4972376 Update VW regression test to follow Comma safety index refactoring (#296)
f9053f5 more Python 3 fixes, attempting to fix jenkins wifi regresison test (#295)
2f9e076 Panda safety code for Volkswagen, Audi, SEAT, and Škoda (#293)

git-subtree-dir: panda
git-subtree-split: 256d274
Vaggysag pushed a commit to Vaggysag/openpilot that referenced this issue Apr 21, 2020
nworb-cire pushed a commit to opgm/openpilot that referenced this issue Aug 2, 2024
* Torque Lateral Control: Refactor settings

* don't need this

* only offroad allowed

* Don't need this

* allow when offroad

* gate them

* flipped

* handle them better

* cleaner

* remove duplicate

* toggle checks cleanup

* 2.5 second check

* trigger refresh when going offroad

* cleanup

* move toggle

* update title and description

* fix ampersand

* update live torque toggle

* live torqued every 2.5 second
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants